我想检查是否为空$i
或$search
我收到了错误消息
Object of class Illuminate\Database\Query\Builder could not be converted to string
当我使用此功能时
static function getListUserGroup($id = "", $search = "", $paginate = NULL)
{
$sql = "";
if (!empty($id))
{
$sql.= "->where('id', {$id})";
}
if (!empty($search))
{
$sql.= "->where('name', 'LIKE', {$search})";
}
if (!is_null($paginate) && !empty($paginate))
{
$sql.= "->paginate({$paginate})";
}
$results = DB::table('core_user_roles').$sql;
return $results;
}
答案 0 :(得分:1)
你真的不能把Laravel的数据库函数变成字符串,并希望它能像那样工作。 Laravel的DB
和Eloquent函数是可链接的,所以你可以这样做:。
static function getListUserGroup($id = "", $search = "", $paginate = NULL)
{
$query = DB::table('core_user_roles');
if($id) {
// a slightly cooler syntax for simple wheres
$query->whereId($id);
}
if($search) {
$query->where('name', 'LIKE', $search);
}
if($paginate) {
$query->paginate($paginate);
}
return $query;
}