为了账号安全,请及时绑定邮箱和手机立即绑定

根据用户表 [laravel] 中的列使用 orderBy() 订购产品表

根据用户表 [laravel] 中的列使用 orderBy() 订购产品表

PHP
互换的青春 2021-12-03 19:16:12
我在数据库产品和用户中有两个表我有这个 SQL 查询Product::where('status',5)    ->where('user_id',120)    ->orderBy('created_at','DESC')    ->paginate(50)我在 USERS 表中有一个名为 valid_rate 的列我所需要的只是通过用户表中的 valid_rate 列订购这些产品就像那个 Product::where('status',5)->orderBy('valid_rate','DESC')->get();
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

Product::with('user')->where('status',5)
   ->where('user_id',120)
   ->orderBy('created_at','DESC')
   ->paginate(50);

如果你和 eloquent 关系 laravel 的用户有产品关系


查看完整回答
反对 回复 2021-12-03
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

尝试这个

Product::with('users')->where('status',5)
   ->where('user_id',120)
   ->orderBy('valid_rate','DESC')
   ->paginate(50);


查看完整回答
反对 回复 2021-12-03
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

首先在用户 id 上加入两个表。


你的代码会是这样的


//join users table with product  

//replace (products) with product table name

Product::join('users', 'users.id', '=', 'products.user_id') 

    ->where('products.status',5)

    ->where('products.user_id',120)

    ->orderBy('users.valid_rate','DESC')

    ->paginate(50)


查看完整回答
反对 回复 2021-12-03
  • 3 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号