在我的控制器中,我有以下代码:
//Example Data;
$date = Carbon::now();
$order = 'name'; // it can be by name, id or created_at;
// Approach i try for getting data of user with eager loaded products
//1st approach
$user = User::with([
'products' => function ($query) use ($date, $order) {
$query->where('created_at', $date)->orderBy($order, 'desc');
},
])->get();
//2nd approach
$user = User::with([
'products' => function ($query) use ($date, $order) {
$query->where('created_at', $date);
$query->orderBy($order, 'desc');
},
])->get();
Run Code Online (Sandbox Code Playgroud)
在这两种方法中,只读取查询的第一个条件.
我想在急切加载的数据中过滤1个 where()子句和1 个子句orderBy. …
模式用户表
ID|NAME
1 |John
2 |Doe
Run Code Online (Sandbox Code Playgroud)
架构财务表
ID|USER_ID|PROFIT |DATE
1 |1 |1000 |2016-12-22
2 |2 |-2000 |2016-12-22
3 |1 |2000 |2016-12-24
4 |2 |-2000 |2016-12-24
Run Code Online (Sandbox Code Playgroud)
用户模型
class User extends Model
{
public function Financial()
{
return $this->hasMany('App\Financial');
}
}
Run Code Online (Sandbox Code Playgroud)
财务模型
class Financial extends Model
{
public function financial()
{
return $this->belongsTo('App\User');
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器
class MyController extends Controller
{
public function index()
{
$user = User::get();
$financial = Financial::get();
return view('page.index',compact('user','financial'));
}
}
Run Code Online (Sandbox Code Playgroud)
我的剑 …