php - 如何通过 Laravel Eloquent 使用复杂的(如派生表和子查询)查询
php - How to use complex (like derived tables and subqueries) queries with Laravel Eloquent
我坚持使用 laravel 查询生成器。 laravel 的特色真是太好了。我认为它不适合复杂的 SQL 查询。
我从数据库中向 select 两个人的相互联系写了一个查询,但我不知道如何使用 laravel 查询生成器
对其进行编码
我的 SQL 查询:
SELECT
*
FROM
(
SELECT
*
FROM
connections
WHERE
connections.user_id = '107' OR connections.connection = '107'
) AS UserAConnetions
INNER JOIN(
SELECT
*
FROM
connections
WHERE
connections.user_id = '106' OR connections.connection = '106'
) AS UserBConnetions
ON
(
UserBConnetions.user_id = UserAConnetions.user_id OR UserAConnetions.connection = UserBConnetions.connection OR UserBConnetions.user_id = UserAConnetions.connection OR UserAConnetions.user_id = UserBConnetions.connection
)
我正在建立一个社交网络,所以我需要在获得共同好友后获取用户名和头像
在您的模型中,您应该定义关系,然后将其与您的 eloquent 一起使用。
例如:
$users = User::with('connections') -> get();
就这样。
阅读。它非常简单,并为您提供了很大的灵活性。
我坚持使用 laravel 查询生成器。 laravel 的特色真是太好了。我认为它不适合复杂的 SQL 查询。 我从数据库中向 select 两个人的相互联系写了一个查询,但我不知道如何使用 laravel 查询生成器
对其进行编码我的 SQL 查询:
SELECT
*
FROM
(
SELECT
*
FROM
connections
WHERE
connections.user_id = '107' OR connections.connection = '107'
) AS UserAConnetions
INNER JOIN(
SELECT
*
FROM
connections
WHERE
connections.user_id = '106' OR connections.connection = '106'
) AS UserBConnetions
ON
(
UserBConnetions.user_id = UserAConnetions.user_id OR UserAConnetions.connection = UserBConnetions.connection OR UserBConnetions.user_id = UserAConnetions.connection OR UserAConnetions.user_id = UserBConnetions.connection
)
我正在建立一个社交网络,所以我需要在获得共同好友后获取用户名和头像
在您的模型中,您应该定义关系,然后将其与您的 eloquent 一起使用。
例如:
$users = User::with('connections') -> get();
就这样。
阅读。它非常简单,并为您提供了很大的灵活性。