php - 升级 laravel 到版本 8 时遗漏一些数据
问题描述
当我将我的项目升级到 version8 时,一些关系数据丢失了,数据存在于数据库中,但是当使用新的 laravel 执行查询时,一些数据丢失了,但是这个查询在旧版本的 laravel 上运行良好,没有问题。
我有两张桌子,一张是书籍,第二张是作家,这两张桌子之间的关系是多对多的(第三张桌子是枢轴)。我有一个查询返回作家的书籍清单:
Book::where('name','like', '%joe%')->with('writers')->get();
此查询非常适用于较旧的 laravel 版本,但现在当升级到新版本时,一些具有多个作者的记录未显示在书籍作者和作者字段中是 []
解决方案
试试这个类似于文档的例子。
Book::with(['writers' => function ($query) {
$query->where('name', 'like', '%joe%');
}])->get();
推荐阅读
- c - 将短 * 传递给短 *(*)[ ] 的不兼容指针类型
- node.js - 无法使用 Node 从 Redis 获取信息
- python - 如果文档中不存在,则返回一个值
- android - 安装后允许我的 Android 应用程序使用第三方扩展程序/插件 - 低功耗蓝牙
- html - 当我将文本粘贴到开始标签时,VS Code 会将文本添加到结束标签
- json - Go-Swagger 如何使用中间件获取 JSON 响应
- mysql - 数据截断:使用 CREATE TABLE SELECT 语句时不正确的 DATETIME 值“”
- java - 在android中制作SSH隧道
- c# - git push 错误 - 致命:远程端意外挂断错误:RPC 失败;HTTP 401 curl 22 请求的 URL 返回错误:401
- .net-core - 从 .NET Core 中的身份提供程序获取访问令牌?