Прошу прощения за это, но я пришел из CodeIgniter и очень усложнил понимание красноречивой вставки модели. Это новый способ работы с моделями для меня.
Я прочитал эту статью и теперь понимаю некоторые основы.
У меня есть следующий пример. У меня есть продукт, который имеет много атрибутов, но релевантным является название бренда и продукта. (см. следующие примеры таблиц)
Продукты: id (PK), имя, описание, brand_id бренды: id (PK), имя
Теперь возникает проблема. Я знаю, что могу создать новый бренд, и я знаю, как я могу создать новый продукт. Однако у меня нет qlue, как соединить эти два вместе. Вот какой код у меня есть сейчас. Я хочу создать новый продукт и автоматически заполнить таблицу брендов. Это часть контроллера прямо сейчас.
Короче. Я хочу, чтобы brand.id внутри products.brand_id
$product = new Products;
$product->name = "product1";
$product->description = "description1";
$brand = new Brands;
$brand->name = "brand1"
$product->brand()->associate($brand);
$brand->save();
$product->save();
Сделать это более понятным. У меня 2 модели. продуктов и брендов. Однако мне непонятно, что должно быть в модели. Это моя модель текущих продуктов. Я думаю, что модель брендов должна иметь только защищенные $table = "бренды"; строка внутри класса модели.
class Products extends Eloquent {
protected $table = 'products';
public function brand()
{
return $this->hasOne('brands');
}
}
Может кто-нибудь объяснить мне, что я делаю неправильно. Я не могу найти хороший учебник, как работать с вставкой данных внутри красноречивых моделей с отношениями. Большинство руководств посвящены отображению данных.