嗨,我正在使用 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}]
答案 0 :(得分:4)
当两个表有同名的列时,您必须使用别名,如下所示:
->select('products.name','categories.name AS category','products.price','products.description','categories.id','products.category_id')