首页 > 解决方案 > 从 Laravel Query Builder 中的其他表中获取数据

问题描述

我正在尝试从 Laravel 查询生成器中的 2 个表中获取数据。
这是我正在使用的 2 个表:

关系 行政
ID ID
管理 ID 姓名
邮件
发票邮件
公司

所以我想用字段、 和company填充first_name一个选择框。last_nameadministration.name

我试图通过以下查询得到这个:

$Relations = Relation::where('in_profit','=',1)->where('error_profit','=',null);
$relation_options = [];
$Relations = $Relations
->join('administration', 'administration.id' , '=', 'relation.administration_id')
->select(DB::raw("id,mail, invoice_mail, administration.name, IFNULL(company, CONCAT(first_name,' ',last_name)) as fullname, CONCAT(first_name,' ',last_name) as name"))->get();
$relation_options = $Relations->pluck('fullname','id','administration.name' );

但我收到 500 错误,我认为这与连接查询有关。

这是错误:

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous (SQL: select id,mail, invoice_mail, administration.name, IFNULL(company, CONCAT(first_name,' ',last_name)) as fullname, CONCAT(first_name,' ',last_name) as name from `relation` inner join `administration` on `administration`.`id` = `relation`.`administration_id` where `in_profit` = 1 and `error_profit` is null and `relation`.`deleted_at` is null)

已经谢谢了!

标签: phpmysqllaravel

解决方案


推荐阅读