TABLES X(ID,A_ID)A(ID,B_ID),B(ID,C_ID),C(ID,D_ID)D(id,VALUE)
我想根据 X
表 Id 使用 laravel 语法检索 D
表的值,并与其他表执行 JOIN
。
请仅以 Laravel 语法发布答案。其他格式我也可以做。我对它很陌生。
X::select('value')
->join('a', 'X.a_id', '=', 'a.id')
->join('b', 'a.b_id', '=', 'b.id')
->join('c', 'b.c_id', '=', 'c.id')
->join('d', 'c.d_id', '=', 'd.id')
->where('x.id', '=', $val)
->get();
但是它不起作用。请为我提供正确的解决方案。现在我使用 PHP 逻辑来获取值,而不是优化查询。
最佳答案
方法有很多,但这是基本的:
$rows = DB::table('shares')
->join('users', 'users.id', '=', 'shares.user_id')
->join('follows', 'follows.user_id', '=', 'users.id')
->where('follows.follower_id', '=', 3)
->get();
关于php - 使用 Laravel 语法对三个或四个不同的表执行 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22712340/