我有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';
}
}
我想念什么?
答案 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
模型