php - 如何将以下 mysql 查询形成为 laravel 查询语法?

标签 php mysql laravel subquery left-join

下面是我的 sql 语法,如何在 laravel 中实现它,在此先感谢。

SELECT * FROM `tr_policy_privacy` AS pri  
LEFT JOIN 
(SELECT * FROM tr_policy_full_create as cri WHERE cri.client_id=156 and cri.policy_type_id = 1) 
AS hours 
ON pri.id = hours.policy_template_edit

到目前为止,我已经尝试过了,但我正在尝试找到一种在左连接中使用函数的方法。

DB::table('tr_policy_privacy AS pri')
    ->select(['cri.policy_title', 'cri.policy_type', 'cri.policy_std', 'cri.policy_version', 'cri.approved_user_id', 'cri.effective_date', 'cri.last_revised_date', 'cri.id'])
    ->leftJoin(
        DB::raw('(
        SELECT * FROM tr_policy_full_create as pol WHERE pol.client_id=156 and pol.policy_type_id = 1
        ) AS cri'),'pri.id', '=', 'cri.policy_template_edit'
    )
    ->get();

最佳答案

如果你的原始 sql 是正确的那么尝试直接在 laravel 中执行

$sql = "
SELECT * FROM `tr_policy_privacy` AS pri  
LEFT JOIN 
(SELECT * FROM tr_policy_full_create as cri WHERE cri.client_id=156 and cri.policy_type_id = 1) 
AS hours 
ON pri.id = hours.policy_template_edit";

$result = DB::select($sql);

在类的顶部使用 DB 命名空间

use DB; 

关于php - 如何将以下 mysql 查询形成为 laravel 查询语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45142042/

相关文章:

php - mysql查询中的mysql查询

php - Laravel,多个 belongsto 和自动插入 ID?

php - 安装 Laravel 5.5

PHP for 循环处理 sql 结果

php - Laravel 版本 5.4 未找到类 '\App\User::class'

php:从自己的 mysli 类获取数据库名称

php - Laravel中使用ajax点击按钮时如何更新数据?

javascript - 在 Laravel 5 中以 AJAX 提交表单

php - 我应该选择哪个 PHP 库来使用 CouchDB?

php - php验证中的解析错误