mar*_*ndt 4 select prefix laravel eloquent
我有这个查询
$sales = Sales::join('customer', 'customer.id', '=', 'sales.customer_id')
->join('cashier', 'cashier.id', '=', 'sales.cashier_id')
->first();
Run Code Online (Sandbox Code Playgroud)
我如何选择带有前缀的每个表,以便我可以这样调用:
以上我的查询,我只得到一个名字行,因为每个表都有相同的列名name,我想是每个表我打电话想给前缀customer_,cashier_,sales_
我期望的结果是这样的
customer_name
customer_address
customer_phone
cashier_name
cashier_another_column
cashier_another_column2
sales_date
sales_another_column
sales_another_column2
Run Code Online (Sandbox Code Playgroud)
答案是你不能那样做。我通常只使用相同的列名作为别名,其余的使用*. 所以您需要为所有相同的列名设置别名以解决冲突
Sales::join('customer', 'customer.id', '=', 'sales.customer_id')
->join('cashier', 'cashier.id', '=', 'sales.cashier_id')
->select(['*', 'customer.name as customer_name', 'cashier.name as cashier_name'])
->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4141 次 |
| 最近记录: |