Laravel 5.4“加入”查询

Posted

技术标签:

【中文标题】Laravel 5.4“加入”查询【英文标题】:Laravel 5.4 'join' Query 【发布时间】:2019-04-15 02:22:37 【问题描述】:
public function scopeGetCompanyInfoWithBank($query, $comCode) 

    $query->select(
        DB::raw("CONCAT(rtrim(COM_NAME), '') AS COM_NAME"),
        DB::raw("CONCAT(rtrim(COM_ADD1), '') AS COM_ADD1"),
        DB::raw("CONCAT(rtrim(COM_ADD2), '') AS COM_ADD2"),
        DB::raw("CONCAT(rtrim(COM_ADD3), '') AS COM_ADD3"),
        DB::raw("CONCAT(rtrim(COM_ADD4), '') AS COM_ADD4"),
        DB::raw("CONCAT(rtrim(COM_BNKCODE), '') AS COM_BNKCODE"),
        DB::raw("CONCAT(rtrim(BANK_NAME), '') AS BANK_NAME") // NOT WORKING.
    )
    ->join("bank", function ($join) 
        $join->on('bank.BANK_CODE', "=", 'COM_BNKCODE');
    )
    ->where('COM_CODE', '=', $comCode)
    ->get();

2 个表:“公司”和“银行”。 “COM_CODE”:“公司”的主键。 “BANK_CODE”:“银行”的主键。 'COM_BNKCODE':'company' 的外键 = 'BANK_CODE'。

问题: 无法从上述查询中获取“BANK_NAME”。

【问题讨论】:

请解释一下“无法获取银行名称”是什么意思,您有误吗?请发帖。 【参考方案1】:

希望对你有帮助

公共函数作用域GetCompanyInfoWithBank($query, $comCode) $this->data['query'] = company::join('bank','BANK_CODE','=','company.COM_BNKCODE') ->select('company.COM_NAME','company.COM_ADD1', 'company.COM_ADD2','company.COM_ADD3', 'company.COM_ADD4','company.COM_BNKCODE') ->where('company.COM_CODE', '=', $comCode) ->获取();

【讨论】:

,这对我一点帮助都没有查询。

以上是关于Laravel 5.4“加入”查询的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 5.4 的查询生成器中添加 lists() 方法

yajra/laravel-datatables 搜索不适用于 laravel 5.4

Laravel 5.4 查询生成器使用 orWhere 子句时缺少参数 2

yajra / laravel-datatables搜索不适用于laravel 5.4

对包含 JSON 数组的 JSON 字段进行 Laravel 5.4 查询

Laravel 5.4急切加载belongsToMany关系null绑定