如何在 Laravel Eager Loading Array 中使用别名而不更改方法名称
Posted
技术标签:
【中文标题】如何在 Laravel Eager Loading Array 中使用别名而不更改方法名称【英文标题】:How to alias in Laravel Eager Loading Array without changing method name 【发布时间】:2021-11-22 02:10:43 【问题描述】:我在执行 Laravel 预加载时需要别名:
$employee = Employee::with(['profilepic', 'emp_company'])->find($user->employee_id);
在我的模型中,我有 profilepic 函数和 emp_company 函数。我需要传递一个公司对象而不将 emp_company 函数重命名为 company。
我需要这样做,因为我希望 JSON 响应作为 profilepic 和 company。对于前端,我需要 emp_company 对象作为公司。可以别名。
【问题讨论】:
【参考方案1】:在数组中将您的 JSON 命名为 "company"
。
试试这个:
$employee = Employee::with(['profilepic' => 'profilepic', 'company' => 'emp_company'])->find($user->employee_id);
【讨论】:
这个不行,得到 500 服务器错误 还给“profilepic”一个上面更新的索引。以上是关于如何在 Laravel Eager Loading Array 中使用别名而不更改方法名称的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - Eager Loading BelongsToMany 关系
Laravel Eager Loading - 仅加载特定列
Laravel Eager Loading 在单个注入模型上