亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過關系表列條件查詢表

如何通過關系表列條件查詢表

PHP
眼眸繁星 2022-05-27 13:10:28
我有模型用戶class Users extends Model implements  AuthenticatableContract{    use Authenticatable,HasApiTokens;    protected $primaryKey = 'user_id';    protected $fillable = ['email','password','email_token', 'verified'];    public function user_info()    {        return $this->hasOne('App\Models\UserInfo','user_id');    }}在控制器中,我想查詢關系表列 "kind" 等于 1 的所有用戶。So Users table has user_info_id(one to one) . User_info has kind_id.我想通過關系表列 kind_id 查詢用戶。我可以通過 left join 做到這一點。但是我怎么能用關系來做呢?我試過這樣但它不起作用$univer_list = Users::with('user_info')->where('is_university',1)            ->where('kind_id',1);
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

您可以使用whereHas基于關系的存在進行查詢:


$univer_list = Users::where('is_university', 1)

    ->whereHas('user_info', function ($query) {

        $query->where('kind_id', 1);

    })->get();

只獲取與where等于 1有關系的,Users應該命名為。UserUserInfokind_id


查看完整回答
反對 回復 2022-05-27
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

您可以在with


$univer_list = Users::with(['user_info' => function($q) {

                        $q->where('kind_id', 1);

                    }])->where('is_university', 1)->get();

我假設您is_university存在于users表中,并且您的kind_id列存在于user_info表中。


查看完整回答
反對 回復 2022-05-27
  • 2 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號