Estou tentando usar relacionamentos para mostrar dados na tela mas eu recebo o seguinte erro Trying to get property ‘nome’ of non-object
Neste comando $ recebimento->planoconta()->get()->first()->nome
MODEL PLANO CONTA
namespace App;
use Illuminate\Database\Eloquent\Model;
class Planoconta extends Model { // protected $ table = 'plano_contas';
protected $ fillable = [ 'tipo', 'nome', ]; public function pagamento():hasMany{ return $ this->hasMany('App\Pagamento', 'plano_contas_id'); } public function recebimento():hasMany{ return $ this->hasMany('App\Recebimento', 'plano_contas_id'); }
}
MODEL RECEBIMENTOS
namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Cliente; use Planoconta;
class Recebimento extends Model { // protected $ table = 'recebimentos';
protected $ fillable = [ 'data_emissao','data_venci','documento','parcela', 'valor', 'cliente_id','plano_contas_id', 'descricao', ]; public function cliente():BelongsTo{ return $ this->BelongsTo('App\Cliente'); } public function planoconta():BelongsTo{ return $ this->BelongsTo('App\Planoconta'); }
}
HTML @foreach($ recebimentos as $ recebimento) id}}"> {{$ recebimento->id}} {{$ recebimento->data_receb}} {{$ recebimento->valor}} {{$ recebimento->cliente()->get()->first()->nome}} {{$ recebimento->planoconta()->get()->first()->nome}}
id}}" data-data_receb="{{$ recebimento->data_receb}}" data-valor="{{$ recebimento->valor}}" data-cliente_nome="{{$ recebimento->cliente()->get()->first()->nome}}" data-cliente_id="{{$ recebimento->cliente()->get()->first()->id}}" data-plano_contas="{{$ recebimento->plano_contas}}" > id}}" data-data_receb="{{$ recebimento->data_receb}}" data-valor="{{$ recebimento->valor}}" data-cliente_nome="{{$ recebimento->cliente()->get()->first()->nome}}" data-cliente_id="{{$ recebimento->cliente()->get()->first()->id}}" > @endforeach
MODEL CLIENTE QUE ESTA FUNCIONANDO E FIZ EXATAMENTE IGUAL
namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\hasMany; use Recebimento;
class Cliente extends Model { //// protected $ table = 'clientes';
protected $ fillable = [ 'nome', 'cpf', 'endereco', 'numero', 'cep', 'complemento', 'bairro', 'celular', 'telefone', 'cidade', 'estado', 'email', ]; public function recebimento():hasMany{ return $ this->hasMany('App\Recebimento', 'cliente_id'); }
}