laravel - 是bug laravel,还是什么?hasMany 返回空数组
问题描述
我不知道这里有什么问题,它只是返回空数组。
汽车表(Brio、Xpander、Lancer、Jazz)
Schema::create('cars', function (Blueprint $table) {
$table->mediumIncrements('car_id');
$table->string('Model', 255);
$table->unsignedTinyInteger('brand_id')->nullable();
$table->foreign('brand_id')->references('brand_id')->on('brands');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
品牌表(本田、丰田、铃木、雷克萨斯)
Schema::create('brands', function (Blueprint $table) {
$table->tinyIncrements('brand_id');
$table->string('brand_name', 100);
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
品牌型号
public function cars() {
return $this->hasMany(Car::class, 'brand_id', 'car_id');
控制器
$collections = Brand::find(1); // Honda
foreach ($collections->cars as $car) {
echo $car;
} // empty array
但是,如果我将品牌模型中的位置外键切换到第三个参数(car_id
,brand_id
)。
它返回数组,但通过car_id
,这意味着只有 1 辆车返回。如何按品牌型号退车?
解决方案
推荐阅读
- javascript - 如何用php转换这个日期
- python - 在 python 中计算 pi
- powerdesigner - 我可以使用 JSON 模式而不是 XML 对 PowerDesigner 进行逆向工程吗?
- javascript - 使用 textarea 在正则表达式中包含退格键
- javascript - 试图遍历 DOM,但得到 Uncaught TypeError parentNode is undefined
- javascript - 反应:更新 Firestore 文档中的一条数据会导致所有其他数据被空字符串覆盖
- javascript - 为什么我的 Bootstrap 5.x 下拉/工具提示组合出现故障?
- java - android.view.InflateException:二进制 XML 文件第 2 行
- javascript - 有什么方法可以使编辑后的图像在 javascript 中可下载
- python - 如何在 Clipspy 中使用 Clips 变量?