У меня есть две таблицы, одна для "моделей", а другая для "голосов", я хочу взять название модели по голосу (Поле голосования = идентификатор модели)
Таблица миграции голосов
public function up()
{
Schema::create('votantes', function (Blueprint $table) {
$table->increments('id');
$table->string('nome', 100);
$table->string('email', 60)->unique();
$table->integer('voto')->unsigned();
$table->timestamps();
$table->foreign('voto')->references('id')->on('candidatas')->onDelete('restrict');
});
}
Голоса Модель
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Candidata;
class Votante extends Model
{
protected $fillable = ['nome', 'email', 'voto'];
public function candidata()
{
return $this->belongsTo('App\Candidata');
}
}
Таблица миграции моделей
public function up()
{
Schema::create('candidatas', function (Blueprint $table) {
$table->increments('id');
$table->string('nome', 100);
$table->string('clube', 60);
$table->string('foto', 100);
$table->timestamps();
});
}
Мой контроллер
public function votacao()
{
$linhas = Votante::orderBy('nome')->get();
// dd($linhas);
return view('votacao', ['linhas' => $linhas]);
}
Мой блейд-файл, в котором я хочу показать участника голосования, электронная почта и имя модели
<table class="table table-hover">
<thead>
<tr>
<th>Cód Votante</th>
<th>Nome Votante</th>
<th>Modelo Escolhida(Cód)</th>
<th>e-mail</th>
</tr>
</thead>
@foreach ($linhas as $linha)
<tr>
<td> {{ $linha->id }} </td>
<td> {{ $linha->nome }} </td>
<td> {{ $linha->candidata->nome }} </td>
<td> {{ $linha->email }} </td>
@endforeach
Я хочу записать запись о голосовании, и из этих данных отобразить в другом окне имя проголосовавшего, адрес электронной почты и название модели.
В настоящее время весь список работает, единственным препятствием является отображение имени шаблона, а не идентификатора, зарегистрированного в таблице голосов.