laravel - hasMany 关系返回 null 与 mongodb (jenssegers) laravel
问题描述
我有 jenssegers(Mongodb 数据库)的 laravel 8 项目,但我的产品和类别模型之间的 hasMany 关系不起作用我的产品 mongo 对象:
{
"_id" : ObjectId("5dcaafb8eaec3701a2774d29")
"category_ids" : [
ObjectId("5dcaacbfeaec37018b508a39"),
ObjectId("5dcaacbfeaec37018b508a5d")
]}
和我的类别 mongo 对象:
{
"_id" : ObjectId("5dcaacbfeaec37018b508a39"),
"title" : "category test",
"slug" : "wordpress-plugins"
}
我的产品型号代码:
public function categories() {
return $this->hasMany(Category::class, 'category_ids', '_id');
}
但下面的代码返回 null :
$product = Product::with('categories')->where('_id', $id)->first();
dd($product->categories);
请帮助我,谢谢:)
解决方案
您需要$this->belongsToMany
在两种模式中使用关系。
public function categories() {
return $this->belongsToMany(Category::class);
}
public function products() {
return $this->belongsToMany(Product::class);
}
推荐阅读
- java - 实现一个也被覆盖的方法
- android - Css 媒体查询方向:android web 视图中的横向无法正常工作
- php - Yii2 ActiveDataProvider 分页链接编码
- c# - Select 查询是否比 DataTable 上的 LINQ 查询更有效?
- android - 在对话框“setCanceledOnTouchOutside()”中无法取消该框
- flink-streaming - 在 Flink CEP 中是否有处理多个“时间约束”的解决方法?
- ios - 未找到“openssl/rsa.h”文件
- r - 如何从非线性回归拟合功率曲线?
- ios - 在 iOS Swift 中捕获具有特定采样率的音频样本,例如 Android
- python-2.7 - 如何在张量流中的每个时期之后维护 EMA 预测?