Executando verificação de segurança...
1
Carregando publicação patrocinada...
2

Cara, pelo que entendi você está tentando realizar um foreach em um objeto. O método findOrFail retorna pra você um objeto, talvez por isso tentando resgatar apenas um comentário deu tudo certo.

Tente usar algo como: Comment::where('project_id', $id)->get(), dessa forma ele trará um array de comentários onde você poderá realizar suas iterações.

Talvez esse possa ser o problema. Se não, manda o link do repo pra dar uma olhada.

1

Funcionou!!! Obrigado demais cara. Não fazia ideia dessa do findOrFail apenas puxar um objeto.. Então nesse ('project_id', $id)->get() tá sendo realizada uma comparação entre project_id e o $id? Só para confirmar que estou interpretando corretamente.

2

O método Where você coloca uma condicional na sua query, nesse caso os registros devem ter o project_id igual ao valor da variável $id.

where('project_id', '=', $id)

O método find() ele busca de acordo com seu index informado na migration, no caso quando você faz Comment::find($id) você está buscando um registro onde o seu id seja igual ao valor da variável $id.

Em resumo é isso.

1

Opa, acabei esquecendo, ta aqui:

    public function comment(Request $request, $id){
        $comment = new Comment;

        $user = auth()->user();

        $comment->project_id = $id;
        $comment->user_name = $user->name;
        $comment->commentary = $request->commentary;

        $comment->save();

        return redirect('/');
    }
3

na view que puxa os comments, precisa acertar o where da consulta pra puxar comentarios where('project_id', '=', '$id')->get() do projeto.

salvo engano o findOrFail() tb puxa só o primeiro pelo id.

1
1