【问题标题】:Laravel loading pilymorphic related model with main model not workingLaravel加载多态相关模型,主模型不起作用
【发布时间】:2020-01-19 07:07:26
【问题描述】:

假设我有一个postsattachments 表,我想要的是获得一个特定的帖子,并加载它的附件。 目前,我正在这样做:

$post->load([
   'attachments:id,name,original_name,size,mime,category'
]);

它生成的查询是这样的:

"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"
]

上面的查询结果是空的,因为没有转义\,如果我复制,在MySQL工作台中通过这个查询并像"App\\Post"一样转义那个斜线它正在工作。如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    这是我能想到的最佳解决方案。 假设你有映射来改变你的命名空间 App\Postposts 或类似的东西,不需要任何斜杠。我认为这是非常有帮助的。

    所以 Laravel 为我们提供了类似这种映射的东西。你可以在 Laravel 官方文档中阅读。这是链接-click here

    【讨论】:

    • 如果我将这个Relation::morphMap([ 'users' => 'App\User', 'businesses' => 'App\Business', ]); 添加到AppServiceProviderboot 函数中,vuejs 的所有身份验证路由都会将我重定向到403 找不到页面
    猜你喜欢
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2019-03-25
    • 2016-05-01
    • 2013-06-10
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多