如何设置Laravel中多态关系模型的别名?
- 内容介绍
- 相关推荐
本文共计1001个文字,预计阅读时间需要5分钟。
作为Laravel的深度使用者,你可能都会对多态关系(Many to Many Polymorphic)这一特性有所了解。以官方文档为例,文章和视频等多类型实体可以与标签进行关联,这种关系模式就是多态多对多(Many to Many Polymorphic)。
作为 Laravel 的重度使用者肯定都对多态关系不默生,以官方文档为例,文章有标签,视频有标签,那么文章和视频这些模型与标签模型的关系就是 多态多对多(Many To Many (Polymorphic))
如果我们给 ID 为 1 的文章打上两个标签,数据库标签关系表的的存储结果就是这样子:
> select * from taggables; +--------+-------------+---------------+ | tag_id | taggable_id | taggable_type | +--------+-------------+---------------+ | 1 | 1 | App\Post | | 2 | 1 | App\Post | +--------+-------------+---------------+
相信有不少人和我一样希望 taggable_type 的值不要直接用模型类名,而是使用表名: posts 。
本文共计1001个文字,预计阅读时间需要5分钟。
作为Laravel的深度使用者,你可能都会对多态关系(Many to Many Polymorphic)这一特性有所了解。以官方文档为例,文章和视频等多类型实体可以与标签进行关联,这种关系模式就是多态多对多(Many to Many Polymorphic)。
作为 Laravel 的重度使用者肯定都对多态关系不默生,以官方文档为例,文章有标签,视频有标签,那么文章和视频这些模型与标签模型的关系就是 多态多对多(Many To Many (Polymorphic))
如果我们给 ID 为 1 的文章打上两个标签,数据库标签关系表的的存储结果就是这样子:
> select * from taggables; +--------+-------------+---------------+ | tag_id | taggable_id | taggable_type | +--------+-------------+---------------+ | 1 | 1 | App\Post | | 2 | 1 | App\Post | +--------+-------------+---------------+
相信有不少人和我一样希望 taggable_type 的值不要直接用模型类名,而是使用表名: posts 。

