【发布时间】:2015-02-16 05:18:34
【问题描述】:
我被 Laravel (4) 中的多态关系绑定所困。模型名称是为了使其更清晰而编造的。
<?php
class Car extends Model {
protected $fillable = ['license_plate'];
public function carable()
{
return $this->morphTo();
}
}
class Parkinglot extends Model {
protected $fillable = ['in_shadow'];
public function carable()
{
return $this->morphOne('Car', 'carable');
}
}
class Garagebox extends Model {
protected $fillable = ['can_lock'];
public function carable()
{
return $this->morphOne('Car', 'carable');
}
}
一辆车可以存放在停车场或车库中。 ParkingLots 和 Garagebox 可以无限创建。
我有一个 html 表,其中列出了所有停车位和车库。如果里面/上面没有 Car 存储,您可以存储 One Car。
我想要的是为每一行制作一个管理按钮。如果存在现有的多态关系,它会找到 Car 并且您可以对其进行编辑(这已经有效),但是当没有关系时 - 所以没有附加 Car - 我想将 Car 保存在已编辑的行内。
所以我想要一种方法来为Car::create(); 填充carable_id 和carable_type,但是如何实现这样的事情呢?
Model-class 具有firstOrCreate() 和FirstOrNew() 之类的功能,但我不知道如何实现它。
有谁知道如何做到这一点? Parkinglots/Garageboxes 内不必有汽车。
【问题讨论】:
标签: laravel laravel-4 eloquent