如何在laravel中传递数组的条件?

时间:2014-03-16 11:01:44

标签: php mysql database frameworks laravel

    $table='user';
    $conditions=array(
      'uname' => 'test', 
      'pwd' => '123'); //uname and pwd are the column names

    DB::table($table)->where($conditions)->get();

执行上面的代码时显示以下错误

ErrorException

strtolower() expects parameter 1 to be string, array given

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

我不知道你正在使用哪些类,但你的php编译器说你传递的是数组而不是字符串,所以也许尝试以字符串格式传递条件:

$conditions = "uname='test'&pwd='123'";

<强>更新
正如您在文档(http://laravel.com/docs/queries#selects)中看到的那样,您只能将字符串传递给where方法,因此您必须这样做:

$select = DB::table($table);
foreach($conditions as $column=>$value){
    $select->where($column,'=',$value);
}
$result = $select->get();