laravel-Eloquen查询中的with和makeHidden
with可以实现在定义了模型关联后进行关联查询,而且可以”with中继续with”,多重关联查询?
$data = Inbox::with(['sku'=>function($query){ $query->with([ 'user'=>function($user_query){ $user_query->select(['id','name','email','tel','status','nickName','avatarUrl','gender','city','province','country']); }, 'product'=>function($product_query){ $product_query->get(); }]); }])->get()->makeHidden(['tel','product_sku_id']);
makeHidden可以隱藏一些字段不被查詢顯示出來;例如用戶表不想顯示出password;那麽可以User::get()->makeHidden([‘password’]);但是User::makeHidden([‘password’])->get()可能會出錯,如果也遭遇這種錯誤,不妨試試將makeHidden放到”搜索結果”後面;
*關聯和反向關聯
如A模型,B模型;A模型存在唯一ID;B表存有A_id,代表A表中的ID,B與A的關係是多對一;那麽他們之間的關聯就是
//Model A public function B(){ $this->hasMany('App\Models\B','A_id','id'); } //Model B public function A(){ $this->belongsTo('App\Models\A','A_id','id'); }
好累。。。
快捷登陆