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
有没有人弄清楚你是否可以 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