我不知道这里有什么问题,它只是返回空数组。
汽车表(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 辆车返回。如何按品牌型号退车?