Laravel如何在模型中定义关联方法替代join实现with预加载数据
Movie模型关联urls()方法实现方案
直接在你的Movie模型中添加如下方法即可:
public function urls() { // 参数说明:关联表对应的模型类、关联表的外键字段、当前模型的本地关联字段 return $this->hasMany(\App\Models\StreamUrl::class, 'movie', 'filename'); }
注意事项
- 你需要先创建
StreamUrl模型对应stream_urls数据表,未创建的话可执行Artisan命令生成:php artisan make:model StreamUrl - 如果你不需要自定义
StreamUrl模型的表名、主键等属性,Laravel默认的命名规则可以自动匹配stream_urls表,无需额外配置 - 按照你给出的调用方式查询后,返回的结果集中每个Movie实例都会自带
urls关联属性,Laravel在返回JSON响应时会自动将该关联集合序列化为数组格式,无需额外处理
内容的提问来源于stack exchange,提问作者Maha Waqar
相关产品推荐
相关产品推荐

