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

我在数据库产品和用户中有两个表

我有这个 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();


互换的青春
浏览 207回答 3
3回答

三国纷争

Product::with('user')->where('status',5)    ->where('user_id',120)    ->orderBy('created_at','DESC')    ->paginate(50);如果你和 eloquent 关系 laravel 的用户有产品关系

明月笑刀无情

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

料青山看我应如是

首先在用户 id 上加入两个表。你的代码会是这样的//join users table with product  //replace (products) with product table nameProduct::join('users', 'users.id', '=', 'products.user_id')     ->where('products.status',5)    ->where('products.user_id',120)    ->orderBy('users.valid_rate','DESC')    ->paginate(50)
打开App,查看更多内容
随时随地看视频慕课网APP