laravel-Eloquen查询中的with和makeHidden

 RorinL     2022年03月17日 星期四 21:45:00     laravel   工作囖      laravel   php   工作    

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');
}

好累。。。


暂无评论

发表回复

您的电子邮箱地址不会被公开。

CAPTCHAis initialing...