I have a database with some tables already populated, but now I have to populate the tables that have a foreign key, I'm trying like this:
$tamanho = Tamanho::find(2);
$genero = Genero::find(1);
$categoria = Categoria::find(2);
$estampa = Estampa::find(1);
$pedido = Pedido::find(1);
$produto = new Produto;
$produto->descricao = 'Lançamento 2012';
$produto->tamanhos()->associate($tamanho);
$produto->generos()->associate($genero);
$produto->categorias()->associate($categoria);
$produto->estampas()->associate($estampa);
$produto->quantidade = '120';
$produto->vunitario = '50';
$produto->save();
$produto->pedidos()->save($pedido);
$pedido->produtos()->save($produto);
But I get the error:
Call to undefined method Illuminate \ Database \ Query \ Builder :: associate ()
model Product:
class Produto extends Eloquent
{
// Produtos has_many Tamanhos
public function tamanhos()
{
return $this->hasMany('Tamanho');
}
// Produtos has_many Generos
public function generos()
{
return $this->hasMany('Genero');
}
// Produtos has_many Estampas
public function estampas()
{
return $this->hasMany('Estampa');
}
// Produtos belongs_to Categorias
public function categorias()
{
return $this->belongsTo('Categoria');
}
// Produtos belongs_to_many Pedidos
public function pedidos()
{
return $this->belongsToMany('Pedido');
}
}
What could be wrong?