我只想从字符串中创建一个where子句,因为where子句依赖于另一个变量。我就像这样
$where_condition = "post_flight_informations.schedule_year,=,2022";
然后应用到这样的查询
->where($where_condition)
但是它将**$where_condition**作为单个参数,所以我有一个Missing argument 2错误,有人可以帮助我吗?谢谢
Missing argument 2
lh80um4z1#
在这种情况下,你应该让你的变量像这样:
$where_condition = [ ['post_flight_informations.schedule_year', '=', 2022], ];
和应用查询
->where($where_condition)->get();
5us2dqdw2#
在laravel文档中,你应该在where方法中放入3个参数进行查询。在你的问题中,你传递了一个参数。这是使用where方法将where添加到查询中的正确方法。
where
->where("post_flight_informations.schedule_year","=","2022")->get();
第一个参数是列的名称。第二个参数是运算符。第三个是要在列值中比较的值。
yvgpqqbh3#
where条件使用了两个参数。
$where_condition = "post_flight_informations.schedule_year,=,2022"; // Split the condition into an array $condition_parts = explode(',', $where_condition); //Pass the parts as individual arguments $query->where(...$condition_parts);
rdlzhqv94#
谢谢大家终于这样解决了
$where_condition = ["post_flight_informations.schedule_year", "=" , $request_year];
和/或
->where(...$where_condition)
42fyovps5#
我建议你像下面的例子一样使用whereRaw
$whereRawStmt = 'post_flight_informations.schedule_year = 2022';
然后将此变量与
->whereRaw($whereRawStmt)
5条答案
按热度按时间lh80um4z1#
在这种情况下,你应该让你的变量像这样:
和应用查询
5us2dqdw2#
在laravel文档中,你应该在
where
方法中放入3个参数进行查询。在你的问题中,你传递了一个参数。这是使用
where
方法将where
添加到查询中的正确方法。第一个参数是列的名称。第二个参数是运算符。第三个是要在列值中比较的值。
yvgpqqbh3#
where
条件使用了两个参数。rdlzhqv94#
谢谢大家终于这样解决了
和/或
42fyovps5#
我建议你像下面的例子一样使用whereRaw
然后将此变量与