Laravel 多态关系 0 个结果
Laravel polymorphic relationship 0 results
我与 Laravel 有多态关系。
我的多态关系是 Message->messageable 成为 Group 或 Chat。
从 Message->messageable 会给我正确的结果(例如,消息关联的组或聊天)。
根据示例 Group::first()->with('messages')->get() 将 return 一个空消息数组。
我的消息数据库表是
messageable_id
messageable_type
我的模型方法如下
class Message extends Model
{
public function messageable(){
return $this->morphTo();
}
^按预期工作
class Group extends Model
{
function messages(){
return $this->morphMany('Message','messageable');
}
class Chat extends Model
{
public function messages(){
return $this->morphMany('Message','messageable');
这些return为空。
使用的示例数据:
1
有什么想法吗?
你的关系不正确。您需要引用完整的 class 命名空间,而不仅仅是 class 名称本身。例如
class Group extends Model
{
public function messages()
{
return $this->morphMany(\App\Models\Message::class', 'messageable');
}
}
忘记在我的数据库中包含命名空间 messageable_type。
从组更改为 App\Group。
我与 Laravel 有多态关系。 我的多态关系是 Message->messageable 成为 Group 或 Chat。
从 Message->messageable 会给我正确的结果(例如,消息关联的组或聊天)。
根据示例 Group::first()->with('messages')->get() 将 return 一个空消息数组。
我的消息数据库表是 messageable_id messageable_type
我的模型方法如下
class Message extends Model
{
public function messageable(){
return $this->morphTo();
}
^按预期工作
class Group extends Model
{
function messages(){
return $this->morphMany('Message','messageable');
}
class Chat extends Model
{
public function messages(){
return $this->morphMany('Message','messageable');
这些return为空。
使用的示例数据: 1
有什么想法吗?
你的关系不正确。您需要引用完整的 class 命名空间,而不仅仅是 class 名称本身。例如
class Group extends Model
{
public function messages()
{
return $this->morphMany(\App\Models\Message::class', 'messageable');
}
}
忘记在我的数据库中包含命名空间 messageable_type。
从组更改为 App\Group。