Problemas ao exibir informações de relacionamento na view do laravel
Boa tarde!
Tenho uma tabela de notícias e uma tabela de fotos. Cada notícia possui várias fotos. Na home tem que aparecer as duas últimas notícias e a respectiva foto de destaque.
os Models estão assim:
class Noticia extends Model
{
protected $table = 'not_noticias';
protected $primaryKey = 'id_noticias';
public $timestamps = false;
protected $dates = ['deleted_at'];
protected $fillable =[
'texto',
'titulo',
'legenda',
'pasta',
'subtitulo',
'evento',
'titulo_evento'
];
public function foto()
{
//return $this->hasMany(Foto::class);
return $this->hasMany('App\Foto','id_noticia','id_noticias');
}
}class Foto extends Model
{
protected $table = 'not_fotos';
protected $primaryKey = 'id_foto';
public $timestamps = false;
protected $dates = ['deleted_at'];
protected $fillable = [
'nome',
'endereco',
'id_noticia'
];
public function noticias()
{
return $this->belongsTo('App\Noticia','id_noticias','id_noticia');
}
}
O controller está assim:
Class NoticiasController extends Controller
{
public function index()
{
}
public function noticia()
{
$noticias = Noticia::with(['Foto' => function($query){
$query->get()->first();//first()find(1)
}])
->orderBy('id_noticias','DESC')
->take(2)
->get();
//dd($noticias);
return view('inc_home.noticias')->with('noticias',$noticias);
}
}
na view noticias.blase.php está assim;
@foreach ($noticias as $key=> $not)
<div class="col-md-6">
<div class="panel-heading">
<img src={{asset('public/'.$not->fotos->endereco)}}>
<h4>{{ $not->titulo }}</h4>
<p align="justify">
<a href="#" class="noticia">
{{$texto = substr($not->texto,0,150)." ..."}}
</a>
</p>
</div>
</div>
@endforeach
Ao tentar exibir a view, aparece: Trying to get property of non-object (View: C:\xampp\htdocs\pro_fundec\resources\views\inc_home\noticias.blade.php)
Não sei o que está errado!
Se na view eu deixo apenas assim: <img src={{asset('public/'.$not->endereco)}}> aparece o titulo e texto, mas as imagens não
Aguardo pela ajuda!Discussão (4)
Carregando comentários...