我有两个模型篮和产品,我的产品表有json对象列,我编写的代码如下
$basket=Basket::with("product")->whereJsonContains("product->store->id",$stores_id)->get();
但拉威尔不给我回数据。抛出这个错误
SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“product”(SQL:select*fromshopping\u cards
where json\u包含(product
-
我的数据结构是这样的
{
"id": 3,
"users_id": 1,
"quantity": 1,
"product": {
"id": 116,
"store": {
"id": 39,
"status": 41,
}
}
}
当您在Laravel Eloquent中与一起使用时,它不会抓取另一个表,它会创建2个查询,所以您不能像这样进行查询。
您可以使用:
$basket = Basket::whereHas('product', function ($query) use ($stores_id) {
$query->whereJsonContains('store->id', $stores_id);
})->get();
或者使用JOIN语句。
相关问题
- Android:在模块jefied-play-services-测量和jefied-play-services-测量-impl中发现重复类
- 在Hashmap中查找匹配的键/值对
- 如何迭代Hashmap并与同一Hashmap中的其他键进行组合以比较它们的对象
- HashCode-如果相等的对象碰巧在同一个桶中散列会发生什么?
- 如何防止对数组中类对象的重复引用?
- JavaHashMap内部数据结构在重新散列期间如何变化?
- 如何以及何时在HashMap中完成重新散列
- 在hashmap或hashtable中重新散列的成本
- HashMap如何识别内部数组中的哪些位置包含元素?
- 当HashMap增加其大小时,HashMap中值的索引会发生什么?
- @BeforeClass在ktor测试类中不工作
- Jest vanilla JavaScript JSDOM刷新失败,切换beforeAll到before每一个后的第二次测试中断
- 在笑话中,定义全局变量是否与在BeforeAll中定义相同?
- 静态编程语言中@BeforeAll的正确解决方法是什么
- 线程“main”java. lang.NoClassDefFoundError中的异常:在Intellij[Spring boot]中
- 线程“main”java. lang.NoClassDefFoundError中的异常:org/apache/log4j/ProvisionNode
- 异步管道是否从服务中定义并从组件变量指向的可观察对象取消订阅?
- 使用订阅与异步管道时,同一可观察对象的不同结果
- 如果可观察对象使用异步管道,是否需要取消订阅?
- 结合主体时不更新在模板中的异步管道可观察