невозможно показать данные из объекта модели - PullRequest
0 голосов
/ 21 июня 2019

Я хочу изменить данные, отсутствующие, но появляется ошибка «Попытка получить свойство id объекта без объекта». Я не понимаю, почему, хотя я делал это раньше, и это нормально.и моя таблица отношений находится в apache MySql, поэтому моя модель пуста.Я пытался сопоставить мой другой метод редактирования, но нет ничего плохого

это мой edit ()

public function edit($id)
    {
        $absensi = absensi::find($id);
        $dataSiswa = DB::table('absensis')
            ->join('siswas', 'siswas.id', '=', 'absensis.idSiswa')
            ->select('absensis.*', 'siswas.nama')
            ->where([
                ['siswas.id', $absensi->idSiswa],
            ])->first();

        return view('absensi.edit', ['absensi'=> $dataSiswa]);
    }

, а затем это мой клинок

<div class="card-header">
            <h1>Edit Data Absensi </h1>
        </div>
        <div class="card-body">
        <form action="/absensi/{{$absensi->id}}" method="POST" name="form1" >
                {{ csrf_field() }}
                <div class="form-group">
                    <label for="usr">Nama :</label>
                <input type="text" value="{{$dataSiswa->nama}}">
                </div>
                <div class="form-group">
                    <label for="usr">Semester :</label>
                    <select name="semester" class="form-control" id="sel1">
                        <option value="genap"@if ($dataSiswa->semester=="ganjil") selected @endif>ganjil</option>
                        <option value="ganjil"@if ($dataSiswa->semester=="genap") selected @endif>genap</option>
                    </select>
                </div>
                <div class="form-group">
                    <input  type="hidden" class="form-control" name="kelas" value="{{$dataSiswa->kelas}}">
                </div>

                <div class="form-group">
                <label for="comment">izin:</label>
                <input type="number" class="form-control" name="izin" value="{{$dataSiswa->izin}}">
                </div>
                <div class="form-group">
                <label for="comment">Sakit :</label>
                <input type="number" class="form-control" name="sakit"  value="{{$dataSiswa->izin}}">
                </div>
                <div class="form-group">
                <label for="comment">Tanpa Keterangan :</label>
                <input type="number" class="form-control" name="tanpaKeterangan"  value="{{$dataSiswa->izin}}">
                </div>
                <button type="submit" class="btn btn-primary" id="Submit" name="Submit">simpan perubahan</button>
            </form>
        </div>

    </div>



</div>

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Вам, вероятно, следует рассмотреть вопрос определения отношений с eloquent в соответствии с документами .

Как только это будет сделано, вы можете использовать Eloquent для запроса вашей таблицы следующим образом:

$abensis = abensis::findOrFail($id);
$dataSiswa = $abensis->siswa;
return view('absensi.edit', ['absensi'=> $dataSiswa]);
0 голосов
/ 21 июня 2019

изменение

$absensi = absensi::find($id);

до

$absensi = absensi::findOrFail($id);

Мне кажется, проблема в том, что модель не может найти запись с этим идентификатором

и если это не так, то

$dataSiswa = DB::table('absensis')
            ->join('siswas', 'siswas.id', '=', 'absensis.idSiswa')
            ->select('absensis.*', 'siswas.nama')
            ->where([
                ['siswas.id', $absensi->idSiswa],
            ])->first();

до

$dataSiswa = DB::table('absensis')
            ->join('siswas', 'siswas.id', '=', 'absensis.idSiswa')
            ->select('absensis.*', 'siswas.nama')
            ->where([
                ['siswas.id', $absensi->idSiswa],
            ])->first();

if(!$dataSiswa) {
    // throw new notfound exception here or return back
}


return view('absensi.edit', ['absensi'=> $dataSiswa]);

Другими словами, вы пытаетесь получить доступ к свойству нулевого объекта, потому что выполненные вами запросы возвращают нулевой объект, а на своем блейде вы пытаетесь получить доступ к свойству нулевого объекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...