laravel - 使用 Eloquent 合并两个表(不使用 DB::Table)
问题描述
我有两个模型,Event 和 CoverEvent。封面事件只能链接到一个事件。我能够使用 SQL 做到这一点。但我想以一种干净的方式使用 Eloquent。我该怎么做?
非常感谢!
这是SQL:
SELECT
`cover_events`.`id`,
`events`.`slug`,
`events`.`title`,
`events`.`subtitle`,
`events`.`image`,
`cover_events`.`columns`,
`cover_events`.`right_align`,
`cover_events`.`dark_text`,
`cover_events`.`large`
FROM
`cover_events`,
`events`
WHERE
`is_visible` LIKE 'true' AND
`cover_events`.`event_id` = `events`.`id`
其结果应为以下数组:
[
[
"id" => 1,
"slug" => 'celine-dion-2020',
"title" => 'Celine Dion',
"subtitle" => '31 July 2020',
"image" => env('APP_URL') . '/img/celine_dion.jpg',
"columns" => 8,
"right_align" => false,
"dark_text" => true,
"large" => true
],
...
]
解决方案
例如,如果您的父模型是 ManageClass 并且子模式是 DaysClassDetails :-
class ManageClass extends Authenticatable
{
public function classType()
{
return $this->hasMany('App\DaysClassDetails','day_id','id');
}
}
并在您的控制器功能中输入此命令
ManageClass::with('classType')->get();
推荐阅读
- excel - 填充嵌套字典以获得漂亮的打印输出
- python - 在 Python 中求解方程的优化算法
- c - 如何从 Linux 中的另一个进程触发一个进程?
- javascript - Chrome 没有选择源地图,尽管它已启用
- vba - 使用 SaveAs2 保存时如何从 word 文件中删除宏?
- python - node.js -- 为谷歌驱动文件提供直接链接
- c# - 按钮不发送mysql查询?
- c# - Tizen xamarin webview 应用程序在启动时关闭
- go - 在 Go for 循环的 post 部分中分配如何允许该循环退出?
- css - 表格在 Paper 中重叠,在较小的屏幕 Material-UI 上自动溢出