Laravel 关系,return 布尔值

Laravel relationships, return boolean

有没有人弄清楚你是否可以 return 从关系中判断对错?

例如我有状态,我想检查当前用户是否喜欢它。但我只想 return 真或假,而不是 hasOne 的整个对象,因为我不想 return 整个对象返回 JSON 响应。

我已经尝试过

public function isLiked()
{
    return count($this->likes()) > 0;
}

public function likes()
{
    return $this->hasOne("\App\Model\Users\Users","id");
}

但我总是得到

在布尔值上调用成员函数 addEagerConstraints()

谢谢

这样使用

public function isLikedAttribute()//use model mutators
{
    if ( ! array_key_exists('likes', $this->relations)) $this->load('likes');
    $likes = $this->getRelation('likes');
    return count($likes) > 0;
}

public function likes()
{
    return $this->hasOne("\App\Model\Users\Users","id");
}

& 从您的控制器或从其他您可以像

一样访问的地方
$YOUR_MODEL_OBJECT->isLiked;//replace $YOUR_MODEL_OBJECT with your model object

参考:https://laravel.com/docs/master/eloquent-mutators#accessors-and-mutators