Laravel - Как получить ряд с 2 столбцами? - PullRequest
0 голосов
/ 24 октября 2019

Я хочу показать список materi (таблица), основанный на 2 значениях из 2 столбцов. и столбец:

kelas (из таблицы пользователя)nama_mapel (из таблицы mapel), но в materi это просто "mapel", а не nama_mapel.

My StudentController:

public function showMateriList($id)
{
    $user = Auth::user();

    $mapel = mataPelajaran::findOrFail($id);

    $materis = Materi::where('kelas', '=', Auth::user()->kelas)
                        ->orWhere('mapel', '=', $mapel->nama_mapel);

    return view('pages.student.materi.showMateriList', compact('user', 
    'mapel', 'materis'));
}

My View:

 @foreach ($materis->chunk(4) as $materi)
    <div class="row">
      <!-- Show List of Mapels -->
      @foreach($materi as $m)
        <div class="col-lg-3 col-6">
            <!-- small box -->
            <div class="small-box bg-info">
            <div class="inner">
                <h4>{{ $m->judul }}</h4>
                <br>
                <p style="line-height:0px;">{{ $m->mapel }}</p>
                <p>{{ $m->kelas }}</P>
            </div>
            <div class="icon">
                <i class="fas fa-address-book"></i>
            </div>
            <a href="/Student/Materi/Single{{ $m->id }}" class="small- 
   box-footer">Lihat Materi Ini <i class="fas fa-arrow-circle-right"></i> 
  </a>
            </div>
        </div>
        <!-- ./col -->
      @endforeach
    </div>
    @endforeach

Мой маршрут:

Route::get('/Student/Materi/List/{id}', 
'StudentController@showMateriList')->middleware('role:Student');

Я пытался использовать этот код, но результат:

Слишком малоаргументы для функции Illuminate \ Database \ Eloquent \ Builder :: chunk (), 1 передано в E: \ laravel-projects \ laralearn \ storage \ framework \ views \ eaf6a642fcf11eb5ecd3b5d7ed076551ba24d459.php в строке 26 и ожидается ровно 2

1 Ответ

0 голосов
/ 24 октября 2019

Проблема в запросе. Вы не получите или не получите результат.

Попробуйте вместо этого:

$materis = Materi::where('kelas', '=', Auth::user()->kelas)
                   ->orWhere('mapel', '=', $mapel->nama_mapel)->get();

Надеюсь, что это работает.

...