我可以将模型关联到 laravel 中的通知表吗?
Posted
技术标签:
【中文标题】我可以将模型关联到 laravel 中的通知表吗?【英文标题】:Can I Associate a Model to the notifications table in laravel? 【发布时间】:2018-07-17 16:27:51 【问题描述】:我一直在处理通知并且很快就完成了,除非我觉得需要删除通知并将其与帖子相关联,有什么方法可以将模型关联到 notifications
表?
我想在创建通知模型后使用模型中的$table
属性。
编辑: 或者我可以在删除帖子时删除通知吗?
【问题讨论】:
通知和帖子的关系设置了吗? 不,通知和帖子之间没有建立关系。我需要 Moel 来设置链接,这就是我所要求的。有什么方法可以创建通知表模型 那么您如何从相关帖子中获取通知? Check this answer 我存储了帖子的ID。 Laravel 将您想要的所有内容存储在通知表的data
字段中。我从该字段中获取 ID 并用于重定向和其他目的
【参考方案1】:
当然可以。
php artisan make:model Notification
然后更改模型以扩展 laravel 的默认通知模型。
<?php
namespace App;
use Illuminate\Notifications\DatabaseNotification;
class Notification extends DatabaseNotification
public function users()
return $this->belongsTo(User::class, 'notifiable_id');
然后您可以在此通知模型中定义您的关系。
或者,您可以使用用户发布关系删除通知
$post->user->notifications->delete()
【讨论】:
晚了一年半,但仍然相关。谢谢!。 我要指出,任何模型都可以具有 Notifiable trait,因此虽然大多数应用程序只会使用 User 进行通知,但如果另一个模型具有 notifiable trait,这可能会干扰此功能。跨度> 另外,对于最新版本的Larvel(8+),请记住将其命名为App\Models。 @DanS 是的,在这种情况下,您只需要更改与具有通知特征的模型的关系。以上是关于我可以将模型关联到 laravel 中的通知表吗?的主要内容,如果未能解决你的问题,请参考以下文章