在上一节中,我们使用一对一、一对多的关系,用于给movies表附加图片和相册图集。这一节我们将创建类似标签的表,用来描述视频的类型。通过这个例子了解多多的关系。
创建数据库表
创建模型
添加后台菜单
创建控制器
创建风格条目
到此为止,我们为视频风格创建了表及相关的models、controller等,并输入了数据,存储了若干条目。那么,如何才能给电影设置视频风格呢,在视频编辑界面中,没有关于风格的设置。
创建中间表
用于movies表和genres表之间的关联,这个表里面分别存储两者的id。
为Models——Movie——Forms——fields添加部件【Relation】
打开【视频】菜单,编辑视频的时候,会出现如下错误
这个错误非常熟悉吧,pluginsraiseinfomoviesmodelsMovie.php
public $belongsToMany = [ 'genres' => [ 'Raiseinfo\Movies\Models\Genre', // 模型 'table' => 'raiseinfo_movies_movies_genres', // 中间表 'order' => 'genre_title' ] ];
保存后刷新:
前端显示风格
<h3>风格</h3> {% for genre in record.genres %} <label class="label label-success">{{ genre.genre_title }}</label> {% endfor %}