加入 Laravel 8 不返回所需的列

时间:2020-12-22 16:29:30

标签: laravel join

嗨,我正在使用 Laravel 8 并且有两个表产品和类别。两个表都有名称列。当我将以下查询作为连接运行时,它返回categories.name 但不返回products.name。我哪里出错了。

return  $product = DB::table('categories')
    ->join('products', 'products.category_id','=', 'categories.id')
    ->select('products.name','categories.name','products.price','products.description','categories.id','products.category_id')
    ->get();
  return view('products.single',compact('product'));

以上查询的结果是

[{“name":"Category First","price":"742.00","description":"Distinctio Sapiente","id":1,"category_id":1},{"name":"Category First","price":"275.00","description":"Nobis velit totam a","id":1,"category_id":1},{"name":"Category First","price":"242.00","description":"Duis incidunt qui c","id":1,"category_id":1}]

1 个答案:

答案 0 :(得分:4)

当两个表有同名的列时,您必须使用别名,如下所示:

->select('products.name','categories.name AS category','products.price','products.description','categories.id','products.category_id')
相关问题