如何在执行 MYSQL 查询之前检查条件 (Laravel 5)
How to check condition before executing MYSQL query (Laravel 5)
我想检查是否为空 $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;
}
您真的不能只是将 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;
}
我想检查是否为空 $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;
}
您真的不能只是将 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;
}