I am working on the Batch table of my project where each batch will have its only product and each product will have multiple batches. I set up the whole relationship and now I'm testing access by métodos
. When doing $produto->lotes
I get a satisfactory answer but when doing $lotes->produto
is not getting anything returns.
My controller
is as follows:
public function mostrar($id){
$lotes = LoteProduto::where('CdProduto', $id)->get();
dd($lotes->produto);
if(Request::wantsJson()){
return $lotes;
}else{
return view('LoteProduto.listLoteProduto', compact('lotes'));
}
}
In my batch search I've tried these possibilities:
$lotes = LoteProduto::where('CdProduto', $id)->first();
$lotes = LoteProduto::where('CdProduto', $id)->get()->first();
$lotes = LoteProduto::where('CdProduto', $id)->get()->item;
In my model Produto
I have função
:
public function lotes(){
return $this->hasMany('App\LoteProduto', 'CdProduto', 'CdProduto');
}
that perfectly returns the batches to me.
Already in my model Lote
I have:
class LoteProduto extends Model
{
use SoftDeletes;
protected $fillable = [
'CdProduto',
'DtFrabricacao',
'DtValidade',
'QtdUnitProduzida'
];
protected $primaryKey = 'CdLote';
protected $dates = ['deleted_at'];
public function produto()
{
return $this->belongsTo('App\Produto','CdProduto','CdProduto');
}
}
When I try to access $lotes->produto
the following error is displayed on screen:
ErrorException in BatchProductController.php line 25: Undefined property: Illuminate \ Database \ Eloquent \ Collection :: $ product