Laravel属于无法与应用\用户一起使用

时间:2018-12-18 09:02:11

标签: laravel laravel-5.2

namespace App;

use Illuminate\Database\Eloquent\Model;

class PasswordSecurity extends Model
{
    public function user()
    {   
        return $this->belongsTo('App\User');
    }
}

错误是

  

“试图获取非对象的属性'passwordSecurity'”

if(count($user->passwordSecurity)){ 

这是我出错的控制器文件的代码。

2 个答案:

答案 0 :(得分:0)

当前,您仅在$passwordSecurity->user模型上定义了关系,这意味着您只能从该模型的实例(例如User)中访问它。您还需要在User模型上定义关系,以便能够从class User extends Model { public function passwordSecurity() { return $this->hasOne('App\PasswordSecurity'); } } 模型的实例访问它,例如:

User

在上面的示例中,假设您的password_security_id模型具有一个User外键。如果hasOne模型中的外键名称不同,则可以将第二个参数传递给hasOne('App\PasswordSecurity', 'foreign_key');方法以指定其名称,例如async componentWillMount() { try { let url = await firebase.links().getInitialLink(); if(url) { let api = "example.com/user/123456"; try { this.setState({ data: "John Doe" }); this.props.navigation.navigate('Preview', {user: this.state.data }) } catch { } } } catch { } }

答案 1 :(得分:0)

它说$ user为null,不是为了您的关系。 只需检查为什么$ user为空