#DUVIDA - Problemas com Laravel na hora de "puxar" o criador do evento para a view.
Olá! Estava produzindo um projeto em que necessito obter o cliente que criou determinado evento, para isso utilizei o OneToMany para relacionar os dois bancos de dados. Até esse ultimo passo tudo estava rodando perfeitamente, porém não faço a mínima ideia de como puxar esse usuario para a view e gostaria de saber se alguém daqui poderia me ajudar.. OBS: Deixarei trechos do codigo abaixo.
Controller (o projectOwner não está funcionando):
public function projects(Request $request){
$search = $request->search;
if($search){
$projects = Project::where([
['title', 'like', '%'.$search.'%']
])->get();
}
else{
$projects = Project::all();
}
$projectOwner = User::where('id', $projects->user_id->first()->toArray());
return view('projects', ['search' => $search, 'projects' => $projects, 'projectOwner' => $projectOwner]);
}
Model Project:
public function user(){
return $this->belongsTo(User::class);
}
Model User:
public function projects(){
return $this->hasMany(Project::class);
}
Forma que tentei puxar a informação na view:
<p class="project-owner"> {{ $projectOwner['name'] }} </p>
se já tem a relação entre User e Projects, deveria já conseguir puxar usando "with"
algo como:
$projects = Project::where(...)->with('users')->get();
e na view acessar o valor como {{ $projects->user()->name }}
carregando assim a relacão entre Projects e Users
-- outro ponto é que mesmo que a sua logica funcionasse, usando o first() sempre retornaria o owner do primeiro projeto (independente da qtd)
procure tambem instalar o XDebug, da pra debugar direto de dentro do VSCode. torna seu fluxo de trabalho bem mais tranquilo!