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.*
,我想避免这一点,在这种情况下,您无法避免
表*
。不管怎样,如果你这样输出,考虑使用变压器。嘿,伙计!变形金刚?对我来说是新的。请给我一个链接,我会通过的。谢谢