【发布时间】:2020-09-14 16:40:04
【问题描述】:
我很难找到在我的数据库上查询 json 对象的方法。我会尽力解释我需要什么。我有一个几乎每天都会改变的对象,所以这就是我决定存储为 json 的原因
"crew": [
{
"Crew": "CA001",
"count": "1",
"Craft": "CA",
"craftType": "Carpenters",
"members": [
{
"Badge": "10484658",
"Name": "Cudmore Gregory",
"Class": "Carpenter GF",
"shift": "1"
},
{
"Badge": "10484913",
"Name": "Harris Thomas",
"Class": "Carpenter JM",
"shift": "1"
},
{
"Badge": "10484658",
"Name": "Cudmore Gary",
"Class": "Carpenter GF",
"shift": "2"
},
{
"Badge": "10484913",
"Name": "Harris Joe",
"Class": "Carpenter JM",
"shift": "2"
}
]
}...
]
我需要做的是能够查询示例 where Crew = 'CA001' 或 members where shift = 2 and Only return a array with the match values.
到目前为止,我发现这个要查询,但它返回了所有对象!
$crew = CtcCrew::where('userID', $user->userID)->where('companyID', $user->companyID)
//->whereJsonContains('dataCrew', ['crew' => ['Crew' => 'CA001']])->first();
->whereJsonContains('dataCrew', ['crew' => ['members' => ['Badge' => '10484658']]])->first();
谢谢!
【问题讨论】: