1
I have a database with some tables already populated, but now I have to popular the tables that have foreign key, I’m trying so:
$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 it returns me the error:
Call to Undefined method Illuminate Database Query Builder::()
model Produto:
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?
In which line does this error occur? It would be good if we could see the source code of the model Product (to see the definitions of the relations between the models).
– J. Bruni