gpt4 book ai didi

namespaces - 具有多态关系的命名空间 Laravel 5

转载 作者:行者123 更新时间:2023-12-04 16:57:41 25 4
gpt4 key购买 nike

升级到L5并且喜欢它!然而,目前面临着关系多态化的问题。在用户表中我的可用列中 我需要包含命名空间值(例如“App\Employee”而不仅仅是“Employee”)使多态关系起作用。

感觉好像我错过了什么.. 如何避免强制在表中存储命名空间值? :)

PS:很清楚其他人正在为类似的问题苦苦挣扎(例如 Laravel 5 namespaces ),但没有看到任何与避免在表中存储命名空间相关的内容。

基础 Controller

<?php namespace App\Http\Controllers;
use App\Client;
use App\User;
...

家庭 Controller
$user = User::with('userable')->get();

foreach ($user as $u){
var_dump($u->userable->mobile);
}

用户模型
public function userable()
{
return $this->morphTo();
}

客户端型号
public function user()
{
return $this->morphOne('App\User', 'userable');
}

员工模型
public function user()
{
return $this->morphOne('App\User', 'userable');
}

最佳答案

最终在 User 表中创建了一个单独的列。一列用于角色(例如管理员、员工等),另一列用于 userable_type(例如“\App\Admin”)

protected $morphClass 

看起来很有希望
( Polymorphic Eloquent relationships with namespaces ) 但在反向关系中存在已知错误 ( Laravel 5 namespaces )

甚至后者也不能很好地工作 - 所以在解决之前,我会采用两列方法 - 希望这对其他人有所帮助!

关于namespaces - 具有多态关系的命名空间 Laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28685334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com