私はこのSQLクエリを使用して、少なくとも3つの共通点を持つユーザーを取得します。laravelクエリと同様の関心事を持つユーザーを取得する方法
$get_similar = $db->query(sprintf('SELECT ui.user_id, COUNT(*) AS common_interests
FROM users_interests ui
WHERE ui.interests_id
IN (
SELECT ui2.interests_id
FROM users_interests ui2
WHERE ui2.user_id = %s
)
AND ui.user_id <> %s
GROUP BY ui.user_id
HAVING common_interests >2
', secure($this->_data['user_id']), secure($this->_data['user_id'])));
上記のsqlクエリをlaravel雄弁クエリに変換するにはどうすればよいですか?このような何かが
$get_similar = \DB::raw('SELECT ui.user_id, COUNT(*) AS common_interests
FROM users_interests ui
WHERE ui.interests_id
IN (
SELECT ui2.interests_id
FROM users_interests ui2')
->where('ui2.user_id','=', secure($this->_data['user_id']))
->where('ui.user_id','<>', secure($this->_data['user_id'])
->groupBy('ui.user_id')
->having('common_interests', '>', '2')_;
または完全に説得力のバージョンが動作するはず
上記のクエリが完全に機能する場合は、laravel rawを使用して上記のクエリを実行します。 –
問題は私がチームでプロジェクトに取り組んでいることです。私たちは最善の方法でlaravelを使う必要があります。 –