Я должен помочь вам как французский разработчик! Прежде всего, я бы поменял ваш контроллер на более простой способ получить серию:
public function show($id)
{
$serie = Serie::findOrFail($id);
return view('admin.series.castings.show')->withSerie($serie);
}
РЕДАКТИРОВАТЬ: я использую Model::findOrFail($id);
, потому что он выбрасывает Illuminate\Database\Eloquent\ModelNotFoundException
. Если вы не поймете исключение, Laravel автоматически отправит HTTP-ответ 404. Это предотвращает ошибку пользователя при использовании устаревшей ссылки. Для получения дополнительной информации см. Документ .
Тогда я не думаю, что будет хорошей идеей использовать цикл foreach
дважды ... Я бы предпочел использовать только один цикл foreach
для персонажей. Затем я получу актера персонажа из модели Personnage. Он должен выглядеть так, как показано ниже:
App \ Models \ Admin \ SeriePersonnage.php
<?php
namespace App\Models\Admin;
use App\Models\Admin\Bonhomme;
use Illuminate\Database\Eloquent\Model;
class SeriePersonnage extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
//Whatever you want to put here
];
/**
* Gets the actor of the character
*/
public function actor() {
return $this->belongsTo(Bonhomme::class);
}
}
Тогда в вашем виде лезвия:
<tbody>
@foreach($serie->personnages as $personnage)
<tr>
<td>{{$personnage->actor->nom}}</td>
<td>{{$personnage->personnage}}</td>
<td><a href="#">bla</a></td>
<td>{{$personnage->rang}}</td>
<td class="has-text-right"><a class="button is-outlined" href="{{route('series.show', $serie->id)}}">Voir</a> <a class="button is-outlined" href="#">Editer</a></td>
</tr>
@endforeach
</tbody>
Вы также можете добавить personnages()
методы в вашу модель актера, чтобы вы могли получить всех персонажей, которых играет этот актер.
Также я бы посоветовал вам использовать английские слова для имен переменных, имен классов и фактически для каждого слова в вашем коде, особенно если вы публикуете справку на английских веб-сайтах. Я бы также порекомендовал вам изменить SeriePersonnage только на Personnage, если вы управляете только сериалами (вы также можете обрабатывать фильмы, японское аниме и т. Д., В этом случае вы можете игнорировать мое сообщение). Также было бы здорово изменить имя строки serie_personnage с personnage
на nom
.
Надеюсь, это помогло вам, и я не делал ошибок: P