Laravel一对一(多态)不适用于特定模型

托马斯·卢塞纳(Tomas Lucena)

我面临一个非常奇怪的问题。

我有3个表及其等效模型:

结构表

应用\用户

public function company() {
        return $this->morphTo();
    }

应用\供应商

public function user() {
    return $this->morphOne(User::class, 'company');
}

应用\公司

public function users() {
        return $this->morphMany(User::class, 'company');
    }

由于某些原因,App \ Supplier上的关系无法正常工作,但其他所有正常工作,如果我拥有用户,我什至可以找到供应商:

$supplier = \App\Supplier::find(1);
$company = \App\Company::find(2);
$supplieruser = \App\User::find(1);

$supplier->user //THIS RETURN NULL
$company->users //return collection of users normally
$suppplieruser->company //returns an instance of supplier model

我已经尝试过,更改关系的名称,但一无所获。

任何想法?

托马斯·卢塞纳(Tomas Lucena)

万一将来有人发现此问题...该关系不起作用,因为我在AppServiceProvider中具有以下内容:

Relation::morphMap([
.....
            'supplier_to_supplier' => 'App\Supplier',
.....
        ]);

似乎在这里注册它会影响该模型的所有变形。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章