gpt4 book ai didi

php - 尽管左连接,ID 仍丢失

转载 作者:行者123 更新时间:2023-11-29 10:15:17 24 4
gpt4 key购买 nike

我正在使用左联接基于公共(public)列组合两个表,但我似乎丢失了左表中的主键id。返回每隔一列

我的 Controller :

$prod_manu = $request->prod_manu;


return $data = Product::leftJoin('manufacturers','products.Manufacturer_id','=','manufacturers.id')
->where('products.Manufacturer_id',$prod_manu)
->get();

产品型号:

class Product extends Model{   

public function types(){
return $this->belongsTo('App\types','Type_id');
}

public function manufacturers(){
return $this->belongsTo('App\manufacturers','Manufacturer_id');
}
}

最佳答案

这可能是因为 Productmanufacturers 都有一个 id 列,因此其中一个被覆盖。

您可以使用 eloquent 的 with 方法来代替使用左连接。

如果你有你的人际关系和类(Class)结构setup properly您应该能够像这样访问制造商的产品:

$manufacturer = Manufacturer::where('id', $prod_manu)->with('products')->get();
return $manufacturer->products;

另请注意,在 Laravel 中,类名应始终为单数且以大写字母开头。 App\manufacturers 不应该有效。请阅读我上面链接的有关建立 Eloquent 关系的文章。

关于php - 尽管左连接,ID 仍丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50203883/

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