0
どのように私はこれらのようなクエリをeloquent/query builderで書くのですか。 助けていただければ幸いです。あなたがこれを行うことができますLaravel Eloquent/QueryBuilder複数のネストされた選択
Select
s.user_id,
s.user_name,
s.`user_firstname`,
s.`user_lastname`,
s.user_photo,
max_rank_timestamp,
max_friend_timestamp
FROM
(
SELECT
Users.user_id,
Users.`user_name`,
Users.`user_firstname`,
Users.`user_lastname`,
`Users`.`user_photo`,
MAX(Ranks.rank_timestamp) AS max_rank_timestamp
FROM
`Users`
LEFT JOIN Ranks ON Ranks.user_id = Users.user_id
WHERE
Users.user_is_active = 1
GROUP BY
Users.user_id
) s
LEFT JOIN (
SELECT
Users.user_id,
MAX(Relationship.timestamp) AS max_friend_timestamp
FROM
`Users`
INNER JOIN Relationship ON Relationship.user_one_id = Users.user_id
WHERE
Users.user_is_active = 1
GROUP BY
Users.user_id
) p ON s.user_id = p.user_id
) t
ORDER BY
`user_name` ASC
ユーザーモデル
public function ranks(){
return $this->hasMany('App\Rank','user_id','user_id');
}
public function relationships(){
return $this->hasMany('App\Relationship','user_one_id','user_id');
}
ランクモデル
public function user(){
return $this->belongsTo('App\User','user_id','user_id');
}
関係モデル
public function user(){
return $this->belongsTo('App\User','user_id','user_one_id');
}
あなたのユーザモデルに「Relationship」と「Ranks」の関係が設定されていますか? –
はい、私はユーザーモデル上の関係です。 –
ユーザーからの階級と関係の両方に1対多の関係があります。 @RossWilson –