我有一个关系,可以在特定日期创建使用静态日期参数
的朋友public function friends()
{
return $this->hasMany(Friend::class)->where('created_at','2018-01-31');
}
但我需要得到一个动态日期,其中$ request变量在关系中不可用。我试过这样不行的
public function friends($request)
{
return $this->hasMany(Friend::class)->where('created_at',$request->date);
}
我该如何解决这个问题?
答案 0 :(得分:1)
您可以使用Laravel辅助函数request()
请求 函数返回当前请求实例或获取输入项
public function friends()
{
$date = request('date') ? : '2018-01-31'; // You can choose a default date, here '2018-01-31'
return $this->hasMany(Friend::class)->where('created_at', $date);
}
答案 1 :(得分:1)
模型将与您发布的内容保持一致:
public function friends($date)
{
return $this->hasMany(Friend::class)->where('created_at', $date);
}
在您的控制器中(示例):
$fooFriends = $foo->friends('2018-01-30')->get();
//Directly from $request or you can use different values/vars each time
$fooFriends = $foo->friends($request->date)->get();
答案 2 :(得分:0)
你可以在控制器中做这样的事情
public function data(){
Mdalname::friend($value)
}
以模态
public function friends($value )
{
return $this->hasMany(Friend::class)->where('created_at', $value);
}