无法扩展Laravel模型

时间:2018-07-13 16:33:06

标签: laravel-5

我有2个模型。用户模型和关系正常运行,我使用修补程序,并且可以看到与用户关联的应用程序。

error[E0532]: expected unit struct/variant or constant, found tuple variant `Foo::Foo1`
  --> src/main.rs:24:30
   |
24 |                 (ref mut f @ Foo::Foo1, b) if (b == 5) => {
   |                              ^^^^^^^^^ not a unit struct/variant or constant

但是,应用程序不会返回用户-在修补程序中,我得到null,更糟糕的是,如果我尝试在修补程序中访问rep,则会收到错误的方法异常调用

User::find(4)->application

为空

注意:我在用户中有一个ID列,可以“查找”用户。在我定义为Application的primaryKey的用户中有“ ucid”列。

应用程序模型:

Application::find(8)->user

用户模型

class Application extends Model
{
    protected $data = [
        'data' => 'array'
    ];
    protected $primaryKey = 'ucid';
    protected $fillable = [
        'ucid', 'data'
    ];
    public function user() 
    {
        return $this->belongsTo(User::class,'ucid');
    }
    public function rep() 
    {
        return 'Test';
    }
}

我想念什么?

1 个答案:

答案 0 :(得分:1)

您可以试试吗?让我知道它是否有效。.

应用程序模型

this.$store.getters.isLoggedIn

用户模型

class Application extends Model
{
    protected $data = [
        'data' => 'array'
    ];
    protected $primaryKey = 'ucid';
    protected $fillable = [
        'ucid', 'data'
    ];
    public function user() 
    {
        return $this->hasOne(User::class, 'ucid');
    }
    public function rep() 
    {
        return 'Test';
    }
}

如您所见,我在模型中切换了class User extends Authenticatable { public function application() { return $this->belongsTo(Application::class, 'ucid', 'ucid'); } } hasOne

也不需要belongsTo的{​​{1}}上的第三个参数,因为自定义$ primaryKey以来,将使用其值,但是您必须在hasOne的{​​{1}}中指定第三个参数Application Model模型