我正在使用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与上述语句完全匹配。但它总是出乎意料地返回假。
另一方面,我还创建了一个Enjoy Model,所以我替换并修改了上面的语句。
$enjoying = (Enjoy::where('user_id','=',$authUserId)->where('video_id','=',$video_id)->get()) ? true : false;
这一次,假设我的桌子'享受'没有任何数据。但它总会意外地返回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');
}
}
答案 0 :(得分:0)
试试这个......
$data = Enjoy::where('user_id','=',$authUserId)->where('video_id','=',$video_id)->get();
echo $enjoying = (count($data)) ? 1 : 0;
or
echo $enjoying = (count($data)) ? true : false;
答案 1 :(得分:0)
也许您需要“存在”方法?
$enjoying = Enjoy::where('user_id','=',$authUserId)
->where('video_id','=',$video_id)
->exists();