Laravel Fluent查询根据if行存在更新或插入

时间:2015-03-18 21:32:41

标签: php mysql laravel fluent

我有一个类似于以下内容的Laravel Fluent查询:

$query = DB::connection('mysql_users')->table('users_info');
$exists = $query->where('email', '=', $user->email)-first();

if(is_object($exists)) {
    // update email
}
else {
    // insert email
}

问题是,即使行确实存在,有时$ exists也不是对象。我也尝试过使用is_null()并遇到了同样的问题。检查的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

只需检查声明,如果声明不是对象,则不要检查声明。

if($exists = $query->where('email', '=', $user->email)-first()) {
    // update email
}
else {
    // insert email
}