php - 使用 Laravel 语法对三个或四个不同的表执行 JOIN

标签 php mysql join laravel laravel-4

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/

相关文章:

php - 如何在 PHP 中将日期转换为美国格式?

mysql - 加入具有针对同一 ID 的多个记录的表

PHP Mysql 跨数据库连接

mysql - join on 的语法是否比在 where 中使用逗号更严格?

php - 当用户拥有特定 cookie SetEnvIf 时绕过 .htaccess 登录

php - 从 mysql 回显特殊字符

php - 从post到php获取多个变量

php - 获取具有相同值同表的SQL数据

Mysql 同表中的匹配和计数

mysql - 在 MySQL RDBMS 中导入 CSV 文件