As would be an example of querying a bd with related tables and inserting data into them.
I have the tables:
Produtos
Tamanhos
Generos
I need to display in the view produtos.blade.php
a list with all the registered products and also their tamanho
and genero
fields that are identified by their id's in the produtos
table.
EDIT:
I've posted my models view and route code here: link
There are the errors that are returning there
//model Produto
<?php
class Produto extends Eloquent
{
// Produtos has_many Tamanhos
public function tamanhos()
{
return $this->hasMany('Tamanho');
}
}
//model tamanho
<?php
class Tamanho extends Eloquent
{
public $timestamps = false;
// Tamanhoss belongs_to Produtos
public function produtos()
{
return $this->belongsTo('Produto');
}
}
//route com o eloquent
Route::get('/teste', function()
{
$produtos = Produto::all();
return View::make('produto.teste', compact("produtos"));
});
//foreach da view
@foreach($produtos as $produto)
<tr>
<td><input type="text" value="{{ $produto->tamanho->descricao }}" name="title" /></td>
</tr>
@endforeach
//Erro exibido na tela
Trying to get property of non-object
/* se eu mudo no foreach da view $produto->tamanho->descricao por $produto->tamanhos->descricao
me dá esse erro:
*/
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tamanhos.produto_id' in 'where clause' (SQL: select * from 'tamanhos' where 'tamanhos'.'produto_id' = ?) (Bindings: array ( 0 => 1, ))
sendo que na tabela produtos tem o campo tamanho_id para servir como chave estrangeira com a tabela tamanhos