Laravel使用主模型加载亚纯相关模型

时间:2019-09-18 10:38:30

标签: laravel eloquent eager-loading laravel-5.8 polymorphic-relationship

假设我有一个 ID_WORKES TABL_NOM NAME KOD_DOR KOD_DEPO ID_SP_NAR prop_violations mash_score 1 28029571 9716 Dim 28 9167 20 0.004500341 0 2 28029571 9716 Dim 28 9167 30 0.005604367 0 ID_WORKES TABL_NOM NAME ID_SP_NAR KOD_DOR KOD_DEPO COLUMN_MASH prop_violations mash_score 1 28029571 9716 Dim 30 28 9167 13 0,0056 0 2 28029571 9716 Dim 30 28 9167 13 0,012048193 0 3 28029571 9716 Dim 30 28 9167 13 0,005617978 0 4 28029571 9716 Dim 30 28 9167 13 0,002932551 1 5 28029571 9716 Dim 30 28 9167 13 0,00591716 0 6 28029571 9716 Dim 30 28 9167 13 0,004950495 0 表,我想要的是获取特定的帖子,并加载其附件。 目前,我正在这样做:

posts

,它是这样生成的查询:

attachments

以上查询结果为空,因为未转义$post->load([ 'attachments:id,name,original_name,size,mime,category' ]); ,如果我复制,则在MySQL工作台中通过此查询并转义斜线,如"query" => "select `id`, `name`, `original_name`, `size`, `mime`, `category` from `attachments` where `attachments`.`attachable_id` in (4) and `attachments`.`attachable_type` = ?" "bindings" => array:1 [ 0 => "App\Post" ] 一样有效。如何解决呢?

1 个答案:

答案 0 :(得分:0)

这是我能想到的最佳解决方案。 假设您有映射用App\Post或类似的名称来更改名称空间posts,不需要任何斜杠。我认为这非常有帮助。

因此Laravel为我们提供了这种映射。您可以在Laravel官方文档中阅读。这是链接-click here