我有1:1的关系消息可以有一个作者(实际上是用户模型),
models/message.php
public function author()
{
return $this->hasOne('User', 'id', 'user_id');
}
这很好,我在这种关系中得到了用户模型,但是我想在关系中为模型返回添加一个属性,基本上我想检查用户模型是否有密码值,如果它没有t将名为guest的属性设置为true。
这可能吗?
答案 0 :(得分:1)
你可以这样做
public function author()
{
$user = $this->hasOne('User', 'id', 'user_id');
if($user->password == "")
{
$user['guest'] = 1; //// or something
}
return $user;
}
快速破解希望这可以帮助你
答案 1 :(得分:0)
通常,密码字段在用户模型中受到限制,如下所示:
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password', 'remember_token');
如果我理解正确,您希望通过关系从用户模型中获取密码值。您可以删除密码'来自用户模型中的$ hidden数组,但建议不要这样做,因为您的密码字段可以修改,这可能会给您的应用程序安全性带来一些问题。删除密码'从$ hidden数组中,您将可以访问此字段。