Update Data Gagal

Hello gan mau nanya nih, saya lagi belajar elequent relation one to one nih. nah pas saya mau coba update data nomer telepon kenak error :

 SQLSTATE[42S22]: Column not found: 1054 Unknown column ' no_telepon' in 'where clause' (SQL: select count(*) as aggregate from `telepon` where ` no_telepon` = 085612345006 and `id_siswa` <> )

padahal sudah sesuai antara struktur di dbnya dan di script controllernya.

Scritp Controller

public function edit($id)
    {
        //
        $siswa  = Siswa::findOrFail($id);
        $siswa->no_telepon = $siswa->telepon->no_telepon;
        return  view('siswa.edit', compact('siswa'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        $siswa = Siswa::findOrFail($id);
        $input = $request->all();
        $validator = Validator::make($input, [
            'nisn'  => 'required|string|size:4|unique:siswa,nisn,' . $request->input('id'),
            'nama_siswa'  => 'required|string|max:30',
            'tgl_lahir' =>  'required|date',
            'jenis_kelamin' => 'required|in:L,P',
            'no_telepon' => 'sometimes|numeric|digits_between:10,15|unique:telepon, no_telepon,'. $request->input('id') . ',id_siswa',
        ]);

        if ($validator->fails()) {
            return redirect('siswa/' . $id . '/edit')->withInput()->withErrors($validator);
        }


        $siswa->update($request->all());
        $telepon = $siswa->telepon;
        $telepon->no_telepon = $request->input('no_telepon');
        $siswa->telepon()->save($telepon);
        return  redirect('siswa');


    }

Script form edit

 @extends('template')

@section('main')
		<div id="siswa">
			<h2>Edit Siswa</h2>

			{!! Form::model($siswa, ['method' => 'PATCH', 'action' => ['SiswaController@update', $siswa->id]]) !!}

				<div class="form-group">
					{!! Form::label('nisn', 'NISN', ['class' => 'control-label']) !!}
					{!! Form::text('nisn', null, ['class' => 'form-control']) !!}
				</div>
				@if ($errors->any())
	<div class="form-group {{ $errors->has('nama_siswa') ? 'has-error' : 'has-success' }}">
@else
	<div class="form-group">
@endif
	{!! Form::label('nama_siswa', 'Nama Siswa', ['class' => 'control-label']) !!}
	{!! Form::text('nama_siswa', null, ['class' => 'form-control']) !!}

@if ($errors->has('nama_siswa'))
	<span class="help-block">{{ $errors->first('nama_siswa') }}</span>
@endif
	</div>
<!-- End Form Nama Siswa -->

<!-- Form Tanggal Lahir -->
@if ($errors->any())
	<div class="form-group {{ $errors->has('tgl_lahir') ? 'has-error' : 'has-success' }}">
@else
	<div class="form-group">
@endif
	{!! Form::label('tgl_lahir', 'Tanggal Lahir', ['class' => 'control-label']) !!}
	{!! Form::date('tgl_lahir', !empty($siswa) ? $siswa->tgl_lahir->format('Y-m-d'): null, ['class' => 'form-control', 'id' => 'tgl_lahir']) !!}
@if ($errors->has('tgl_lahir'))
	<span class="help-block">{{ $errors->first('tgl_lahir') }}</span>
@endif
	</div>
<!-- End Form Tanggal Lahir -->

<!-- Form Jenis Kelamin -->
@if ($errors->any())
	<div class="form-group {{ $errors->has('jenis_kelamin') ? 'has-error' : 'has-success' }}">
@else
	<div class="form-group">
@endif
	{!! Form::label('jenis_kelamin', 'Jenis Kelamin', ['class' => 'control-label']) !!}
		<div class="radio">
			<label>{!! Form::radio('jenis_kelamin', 'L') !!} Laki-Laki</label>
		</div>
		<div class="radio">
			<label>{!! Form::radio('jenis_kelamin', 'P') !!} Perempuan</label>
		</div>
			@if ($errors->has('jenis_kelamin'))
				<span class="help-block">{{ $errors->first('jenis_kelamin') }}</span>
			@endif
	</div>
<!-- End Form Jenis Kelamin -->

<!-- Form Nomor Telepon -->
@if ($errors->any())
	<div class="form-group {{ $errors->has('no_telepon') ? 'has-error' : 'has-success' }}">
@else
	<div class="form-group">
@endif
	{!! Form::label('no_telepon', 'Telepon', ['class' => 'control-label']) !!}
	{!! Form::text('no_telepon', null, ['class' => 'form-control']) !!}

@if ($errors->has('no_telepon'))
	<span class="help-block">{{ $errors->first('no_telepon') }}</span>
@endif
	</div>
<!-- End Form Nomor Telepon -->

				<div class="form-group">
						{!! Form::submit('Update',['class' => 'btn btn-primary form-control']) !!}

				</div>

			{!! Form::close() !!}
		</div>
@stop

@section('footer')
		@include('footer')
@stop

Mohon Pencerahanya gan

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Diperbarui 5 tahun yang lalu

7 Jawaban:

kayaknya di querynya gan coba di chek lagi, nama table atau nama fieldnya barangkali salah

avatar maszgalang
@maszgalang

297 Kontribusi 80 Poin

Dipost 5 tahun yang lalu

sudah bener gan di databasenya,cuman masih error yg sama

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

boleh minta hasil dd() dari

<pre> dd($request-&gt;all()); $siswa = Siswa::findOrFail($id); </pre>

avatar lukmanfreedom
@lukmanfreedom

121 Kontribusi 55 Poin

Dipost 5 tahun yang lalu

perhatiin juga gan di modelnya, lihat $fillable di model siswa apa aja yang boleh dimasukin. <pre> //contoh, diasumsiin di model siswa protected $fillable = [' nama', 'nik', 'kelas']; </pre> semoga membantu gan

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 5 tahun yang lalu

<pre> array:7 [▼ "_method" =&gt; "PATCH" "_token" =&gt; "PoqfLwlmWSotev5rlBA7Z4PzQBGcFG6nLJV2oPz8" "nisn" =&gt; "1002" "nama_siswa" =&gt; "Agustina Anggraenini" "tgl_lahir" =&gt; "1990-02-16" "jenis_kelamin" =&gt; "P" "no_telepon" =&gt; "089231212332" ] </pre>

itu hasil ddnya gan @lukmanfreedom

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

coba di controller, line untuk masukin teleponnya diganti ini.

<pre> $telepon-&gt;no_telepon = $input['no_telepon']; </pre>

avatar lukmanfreedom
@lukmanfreedom

121 Kontribusi 55 Poin

Dipost 5 tahun yang lalu

<pre> $siswa = Siswa::findOrFail($id);

...

$siswa-&gt;nama_siswa = $request-&gt;input('nama_siswa'); $siswa-&gt;no_telepon = $request-&gt;input('no_telepon'); $siswa-&gt;save(); </pre>

itu saja udah bisa untuk update

avatar zillucks
@zillucks

28 Kontribusi 8 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban