Laravel属于不使用app\user
错误是 “正在尝试获取非对象的属性“passwordSecurity”Laravel属于不使用app\user,laravel,laravel-5.2,Laravel,Laravel 5.2,错误是 “正在尝试获取非对象的属性“passwordSecurity” 这是我出错的控制器文件的代码。当前您仅在密码安全性模型上定义了关系,这意味着您只能从该模型的实例访问它,例如,$PasswordSecurity->user。您需要在用户模型上定义关系,并能够从用户模型的实例访问它,例如: if(count($user->passwordSecurity)){ 在上面的示例中,假定您的用户模型具有密码_安全性_id外键。如果用户模型中的外键具有不同的名称,则可以向hasOne方法传
这是我出错的控制器文件的代码。当前您仅在
密码安全性
模型上定义了关系,这意味着您只能从该模型的实例访问它,例如,$PasswordSecurity->user
。您需要在用户
模型上定义关系,并能够从用户
模型的实例访问它,例如:
if(count($user->passwordSecurity)){
在上面的示例中,假定您的
用户
模型具有密码_安全性_id
外键。如果用户
模型中的外键具有不同的名称,则可以向hasOne
方法传递第二个参数以指定其名称,例如hasOne('App\PasswordSecurity','foreign_key')代码>它说$user为空,这与您的关系无关。
只需检查$user为null的原因您可以发布您尝试访问模型的方式吗?异常可能不是来自上面的代码。请发布调用$user->passwordSecurity()
和用户类的代码tooif(count($user->passwordSecurity)){这是我出错的控制器文件的代码。你能写出出错的代码吗?`error“试图获取非对象的属性'passwordSecurity'”`错误是说您试图访问非对象上的属性(passwordSecurity
),这会让我相信$user
未设置。请编辑您的问题并提供整个控制器方法(或至少显示如何设置$user
变量)。
if(count($user->passwordSecurity)){
class User extends Model
{
public function passwordSecurity()
{
return $this->hasOne('App\PasswordSecurity');
}
}