我有以下查询,但由于加入的结果,id字段完全混淆了。例如,电话ID被制造商ID覆盖。
$phones = \App\Phone::
join('phone_manufacturers', 'phones.phone_manufacturers_id', '=', 'phone_manufacturers.id')
->orderBy('phone_manufacturers.manufacturer_name')
->paginate(20);
如何设置别名,以便在我给phone-> id打电话时能产生正确的结果?我尝试使用“ With”代替,但随后在排序结果时遇到问题。
答案 0 :(得分:3)
通过指定选择,可以避免id
被联接表字段重叠的问题。
$phones = \App\Phone::select('phones.*')
->join('phone_manufacturers', 'phones.phone_manufacturers_id', '=', 'phone_manufacturers.id')
->orderBy('phone_manufacturers.manufacturer_name')
->paginate(20);
如果您需要phone_manufacturers
中的字段,请使用该关系。