Php Laravel BelongsToMany透视表:如何获取选定列
在通过透视表进行查询时,希望获取选定列。下面是我的场景。 我有三张桌子Php Laravel BelongsToMany透视表:如何获取选定列,php,laravel,eloquent,Php,Laravel,Eloquent,在通过透视表进行查询时,希望获取选定列。下面是我的场景。 我有三张桌子 优惠券 优惠券城市 城市 关系详情如下 class Coupon extends Eloquent { public function cities(){ return $this->belongsToMany('City', 'coupon_cities', 'coupon_id', 'city_id'); } } 当我询问 Coupon::with('cities') 它
- 优惠券
- 优惠券城市
- 城市
class Coupon extends Eloquent {
public function cities(){
return $this->belongsToMany('City', 'coupon_cities', 'coupon_id', 'city_id');
}
}
当我询问
Coupon::with('cities')
它为优惠券行的每个条目返回城市表所有列的数组。唯一的方法是:
$coupon = Coupon->first();
$coupon->cities()->get([your columns here]);
通常情况下,您会像下面这样做:
Coupon::with(['cities' => function ($q)
{
$q->select('column', 'column2' ...);
}
但是,它不适用于
归属关系
关系->是的,我要说的最后一行。我已经申请了这个急切的加载,但它不起作用。简言之,这是不可能的。对吧?不幸的是,这是正确的。你为什么需要这个?也许你会笑的。它还显示时间戳,所以我想避免它。Larvel确实是city.*
,我想避免这一点,在这种情况下,您无法避免表*
。不管怎样,如果你这样输出,考虑使用变压器。嘿,伙计!变形金刚?对我来说是新的。请给我一个链接,我会通过的。谢谢