laravel: exemplo eloquente insere dados no banco de dados
Lamento perguntar isso, mas sou do codeIgniter e tenho muita dificuldade em entender a inserção eloquente de modelos. Essa é uma nova maneira de trabalhar com modelos para mim.
eu liEste artigo e entender alguns conceitos básicos agora.
Eu tenho o seguinte exemplo. Eu tenho um produto que tem muitos atributos, mas o relevante é marca e nome do produto. (veja as tabelas de exemplo a seguir)
produtos: id (PK), nome, descrição, brand_id marcas: id (PK), nome
Agora aqui vem o problema. Sei que posso criar uma nova marca e sei como posso criar um novo produto. No entanto, não tenho qlue como conectar os dois juntos. Aqui está um código que eu tenho agora. Quero criar um novo produto e preencher automaticamente a tabela de marcas. Isso faz parte do controlador no momento.
Em resumo. Quero as brands.id dentro dos produtos.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();
Para deixar mais claro. Eu tenho 2 modelos. modelos de produtos e marcas. No entanto, não está claro para mim o que deve estar no modelo. Este é o meu modelo de produtos atual. Eu acho que o modelo de marcas deve ter apenas $ table = "brands" protegido; linha dentro da classe de modelo.
class Products extends Eloquent {
protected $table = 'products';
public function brand()
{
return $this->hasOne('brands');
}
}
Alguém pode me explicar o que eu faço de errado. Não consigo encontrar um bom tutorial sobre como trabalhar com inserção de dados em modelos eloquentes com relacionamentos. A maioria dos tutoriais é sobre a exibição de dados.