【发布时间】:2017-02-17 21:40:59
【问题描述】:
我正在使用 Laravel 4.2 PHP 框架。这太奇怪了,代码是正确的,但它总是返回意外的布尔值。
$enjoying = (DB::table('enjoy')->where('user_id','=',$authUserId)->where('video_id','=',$video_id)->get()) ? true : false;
我很确定我有一个名为“enjoy”的表,其中 user_id 和 video_id 与上述语句完全匹配。但它总是意外返回 false。
另一方面,我也创建了一个Enjoy Model,所以我替换并修改了上面的语句。
$enjoying = (Enjoy::where('user_id','=',$authUserId)->where('video_id','=',$video_id)->get()) ? true : false;
这一次,假设我的表 'enjoy' 没有任何数据。但它总是会意外返回 TRUE。我不知道发生了什么。
享受模型
<?php
class Enjoy extends Eloquent
{
protected $fillable = array('user_id', 'video_id');
protected $table = 'enjoy';
public $timestamps = false;
public function users() {
return $this->has_many_and_belongs_to('User');
}
}
【问题讨论】:
-
get()不会像您认为的那样返回false-y 值。
标签: php mysql database laravel