无法在 eloquent 中使用 where
Cannot using where in eloquent
我在 Laravel 中使用 Eloquent ORM。有 2 个模型,User 和 Trans。 User hasMany Trans,Trans belongsTo User。问题是当我在哪里使用查询时,它不起作用。
我试过在最后的代码中使用->get()
,它仍然不起作用。我尝试在最后的代码中使用 ->all()
它仍然不起作用。我试了whereIn,还是不行
用户模型
public function trans()
{
return $this->hasMany('App\Trans', 'user_id');
}
跨模型
public function user ()
{
return $this->belongsTo('App\User','user_id');
}
控制器
$trans = Auth::user()->trans->where('date', $date);
我希望输出基于查询,其中日期基于用户输入,当我删除 ->where
时,它有效并且输出如下。
Collection {#797 ▼
#items: array:13 [▼
0 => Trans {#783 ▶}
1 => Trans {#784 ▶}
2 => Trans {#785 ▶}
3 => Trans {#786 ▶}
]
}
努力改变
Auth::user()->trans->where('date', $date);
到
Auth::user()->trans()->where('date', $date)->get();
note : if you want to get only property then u get property without
pointer
but if you want to used another method then must used(add)
pointer(->).
我在 Laravel 中使用 Eloquent ORM。有 2 个模型,User 和 Trans。 User hasMany Trans,Trans belongsTo User。问题是当我在哪里使用查询时,它不起作用。
我试过在最后的代码中使用->get()
,它仍然不起作用。我尝试在最后的代码中使用 ->all()
它仍然不起作用。我试了whereIn,还是不行
用户模型
public function trans()
{
return $this->hasMany('App\Trans', 'user_id');
}
跨模型
public function user ()
{
return $this->belongsTo('App\User','user_id');
}
控制器
$trans = Auth::user()->trans->where('date', $date);
我希望输出基于查询,其中日期基于用户输入,当我删除 ->where
时,它有效并且输出如下。
Collection {#797 ▼
#items: array:13 [▼
0 => Trans {#783 ▶}
1 => Trans {#784 ▶}
2 => Trans {#785 ▶}
3 => Trans {#786 ▶}
]
}
努力改变
Auth::user()->trans->where('date', $date);
到
Auth::user()->trans()->where('date', $date)->get();
note : if you want to get only property then u get property without
pointer
but if you want to used another method then must used(add) pointer(->).