【发布时间】:2021-05-03 08:11:27
【问题描述】:
| Data | DataChildren | Category
----------------------------------
| id | id | id
| name | data_id | name
| | category_id |
| | name |
数据模型:
public function data_children() {
return $this->hasMany(DataChildren::class, 'data_id', 'id');
}
DataChildren 模型:
public function category() {
return $this->belongsTo(Category::class, 'category_id', 'id');
}
我想根据Data id 到DataChildren 获取Category 的计数。
我只想从数据中获取类别记录,所以结果应该是这样的
name from category | Count of category for Data
-------------------------------------------------
Unpublished | 1
Published | 3
我试过用这个但是返回null
Data::withCount(['category'=> function($query){return $query->groupBy('category_id');}])->find(1);
【问题讨论】:
-
看起来您需要多对多关系?除了外键,
DataChildren中还有其他属性吗 -
不,它不应该是多对多关系,而是一对多。是的,我还有另一个属性@MKhalidJunaid
-
用你的第二种方法什么不起作用,你得到无效计数吗?
-
我收到一个错误
Call to a member function getRelationExistenceCountQuery() on null@MKhalidJunaid -
很抱歉我错过了
return
标签: php laravel eloquent laravel-7 eloquent-relationship