当Laravel eloquent从某个模型调用指示关系目的地的原始模型的关系属性时,它会发出重新查询并返回原始模型. 有没有一种方法可以在不发出重新查询的情况下退还原始型号?

posts->first()->author中,LARAVEL执行查询select * from "users" where "users"."id" = ? limit 1.

我希望没有执行查询,author返回$user.

https://laravelplayground.com/#/snippets/348b2dea-ac2a-423b-86c5-6ec17593546e

code image

推荐答案

如果作者是已加载的用户,则无需执行db查询来加载作者,您可以自己设置关系

Route::get('/', function() {
    $user = User::with(['posts'])->first();
    $user->posts->each(function (Post $post) use ($user) {
        $post->setRelation('author',  $user);
    });
});

现在,每个帖子都将在当前用户上设置一个作者关系.

Php相关问答推荐

在AJX请求中使用简写后,FormData出现非法调用错误

在WooCommerce中执行一次银行电汇确认付款代码

允许Laravel路由指定`withTrashed`,尽管有显式的模型绑定

在Laravel中,如果我用session—put()存储一些信息,客户端浏览器是否可以使用这些信息?>

Laravel:让所有用户在一年中的特定月份休息几天

Laravel数据表在一个视图中传递两个实例

从WooCommerce购物车和 checkout 页面自定义发货标签

通过注册在Laravel中分配角色

Mod_重写子目录中相应的php文件

我必须对所有的SQL查询使用预准备语句吗?

针对给定产品类别的WooCommerce计数审核

我有一个显示记录的表格,每行在最右边有两个按钮.如何才能以正确的顺序获得表的值?

使用与OpenSSL命令行兼容的AES-256-CTR为大型文件创建php代码OpenSSL加密

是否使用联系人表单7 wpcf7_Feedback_Response输出答复中的html?

按日期向 WooCommerce 中的我的帐户订单添加过滤器

需要以一种形式执行两个操作

图像未在 Laravel Ajax Crud 中显示

Laravel:ArgumentCountError: 函数 App\Mail 的参数太少

laravel 中的 OrderBy json 列

如何使用属性创建属性预设?