gpt4 book ai didi

laravel 5.1 eloquent select 带有前缀连接表

转载 作者:行者123 更新时间:2023-12-03 20:33:45 31 4
gpt4 key购买 nike

我有这个查询

$sales = Sales::join('customer', 'customer.id', '=', 'sales.customer_id')
->join('cashier', 'cashier.id', '=', 'sales.cashier_id')
->first();

我如何选择带有前缀的每个表,以便我可以这样调用:
  • $order->customer_name
  • $订单->收银员姓名

  • 通过上面的查询,我只得到一个名称行,因为每个表都有相同的列名 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

    最佳答案

    答案是你不能那样做。我通常只使用相同的列名作为别名,其余的则使用 * .所以您需要为所有相同的列名设置别名以解决冲突

    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();

    关于laravel 5.1 eloquent select 带有前缀连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650183/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com