You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 05:54:03