Estoy tratando de obtener algunos datos a través de relaciones y claves externas, pero me he enredado.
Tengo un Batsmen que el usuario puede comentar, los comentarios también pueden ser editados por los usuarios, los comentarios también tienen su propia página con la opción de eliminar o editar el comentario. Aquí es donde surge mi problema, estoy tratando de mostrar la nacionalidad de los bateadores, pero solo puedo recuperar la identificación de su nacionalidad y no el nombre del país.
Aqui estan mis mesas
Batsmen : ID, Nombre, biografía, Nationality_ID, Nacionalidad : ID, country_name, Usuario ID, nombre, Comentario : ID, comentario, Batsmen_ID, User_ID
Mis relaciones
Comentario:
public function batsmen(){
return $this->belongsTo('App\Batsmen');
}
public function author()
{
return $this->belongsTo('App\User','user_id');
}
Controlador:
public function show($id)
{
$comment = Comment::find($id);
return view('comments.show')->with('comment', $comment);
}
Vista:
<h4>{{$comment->batsmen->Nationality_id}}</h4>
Entonces, ¿cómo obtendría el nombre del país para mostrar en lugar de nationality_ID?
3 respuestas
Cree otro método relationship
en su clase de modelo Batsman
como:
public function nationality(){
return $this->belongsTo('App\Nationality','Nationality_id');
}
Y luego en tu opinión
<h4>{{$comment->batsmen->nationality->country_name}}</h4>
Probar esto
public function show($id)
{
$comment = Comment::with('batsmen')->find($id);
return view('comments.show')->with('comment', $comment);
}
Debe agregar la relación entre bastman y nacionalidad
class Comment extends Model
{
public function nationality(){
return $this->belongsTo('App\Nationality',Nationality_id,id);
}
}
Entonces puedes obtener fácilmente su país
<h4>{{$comment->batsmen->Nationality->country_name}}</h4>
Preguntas relacionadas
Nuevas preguntas
laravel
Laravel es un marco web PHP gratuito y de código abierto, creado por Taylor Otwell y destinado al desarrollo de aplicaciones web siguiendo el patrón arquitectónico modelo-vista-controlador (MVC) y basado en Symfony. El código fuente de Laravel está alojado en GitHub y tiene licencia bajo los términos de la Licencia MIT.