phpmyadmin 如何在Laravel中编写MySql查询

ekqde3dh  于 2022-11-09  发布在  PHP
关注(0)|答案(2)|浏览(199)

我如何在Laravel中为下面的表编写查询。比如在我的应用程序中,登录的用户ID是109,所以我需要谁的用户与BlindDate和PaidDate表中的登录用户匹配到用户ID。
This is User table
This is BlindDate table
THis is PaidDate table
我希望需要的预期输出是:

data[

  'blind_users':[
     {
        'uuid':'rvfv',
        'user_id':109,
        'touser':[
            {
              'name':'james',
              'email':'xxxx@gmail.com'
            }  
         ]

     },
     {
        'uuid':'rvfv',
        'user_id':109,
        'touser':[
            {
              'name':'james',
              'email':'xxxx@gmail.com'
            }  
         ]

     },
  ],

 'paid_date_users':[
   {
        'uuid':'rvfv',
        'user_id':109,
        'touser':[
            {
              'name':'james',
              'email':'xxxx@gmail.com'
            }  
         ]

     },
  ]

]
0yg35tkg

0yg35tkg1#

希望你已经设置了雄辩的模型和它的关系,因为你正在使用Laravel为这个项目!
如果您只有用户id,则可以按如下方式查询User模型

return User::with('blind_date', 'paid_date')->where('id', $userId)->first();

如果您有一个经过身份验证的用户,您可以直接返回该用户,而无需任何急切的加载,或者直接在刀片中调用它,如auth()->user()

dsekswqp

dsekswqp2#

Ans:在用户模型中使用这两个函数。

public function bind_dates(){
  return $this->belongsTo('binddates','user_id');
}

public function free_paid_dates(){
  return $this->belongsTo('freepaiddates','user_id');
}

查询:

Users::with('free_paid_dates','bind_dates')->where('id',$user_id)->get();

如果有多个用户,则用户关系为hasMany
请使用此代码,我认为您的代码工作。

相关问题