Postingan lainnya
ini soal many to many. intinya mau CRUD tabel pivot.
jadi gini bang. saya ada 3 tabel
tabel 1
nama tabel : member isi kolomnya id dan member_name
tabel 2
nama tabel : prize isi kolomnya id dan prize_name
tabel 3
nama tabel : member_prize isi kolomnya member_id dan prize_id
intinya saya mau CRUD di tabel member_prize.
jadi misalkan
di formnya nanti saya pakai select namanya trs pilih select jg hadiahnya nanti data di submit, data yg di submit ke kirim ke tabel member_prizenya
kalo di gambarkan kek gini bang tampilannya
9.png ini kurang lebih begini code saya keseluruhan
</form>
<form class="col-md-6" action="/storeMemberPrize" method="POST">
{{ csrf_field() }}
<label class="mt-3"> Choose Name </label>
<select id="inputstate" name="prize_id[]" type="text" class="form-control" required>
<option selected> choose name here</option>
@foreach($prize as $ab)
@foreach($ab->member as $a)
<option value="{{$a->id}}">{{ $a->name_member }}</option>
@endforeach
@endforeach
</select>
<label class="mt-3"> Choose Prize </label>
<select id="inputstate" name="prize_id[]" type="text" class="form-control" required>
<option selected> choose prize here</option>
@foreach($prize as $ab)
<option value="{{$ab->id}}">{{ $ab->name_prize }}</option>
@endforeach
</select>
<button type="submit" class="btn btn-primary waves-effect mt-3">Add Data</button>
</form>
cuman untuk form choose name gak keluar view select optionya
10.png
ini controller saya bang
public function create()
{
$prizes = Prize::all();
return view('create', ['prize' => $prizes ]);
}
public function storeMemberPrize(Request $request) {model apa yang saya harus panggil? dan cara storenya bagaimana?};
ini model saya
1. model prize
class Prize extends Model
{
protected $table = "prize";
public function member()
{
return $this->belongsToMany(Member::class, 'Member_prize', 'member_id', 'prize_id')->withTimestamps();
}
}
2. model member
class Member extends Model
{
protected $table = "member";
protected $fillable = [
'name_member'
];
public function prize()
{
return $this->belongsToMany(Prize::class, 'Member_prize', 'member_id', 'prize_id')->withTimestamps();
}
}
model Member_prize
class Member_prize extends Model
{
protected $table = "member_prize";
protected $fillable = ['member_id', 'prize_id'];
}
1 Jawaban:
Jawaban Terpilih
<div>balde</div><pre><form class="col-md-6" action="/storeMemberPrize" method="POST"> @csrf <label class="mt-3" for="member_id">Choose Name</label> <select id="member_id" name="member_id" class="form-control" required> <option selected disabled> choose name here</option> @foreach($members as $member) <option value="{{ $member->id}}">{{ $member->member_name }}</option> @endforeach </select>
<label class="mt-3" for="prize_id"> Choose Prize</label> <select id="prize_id" name="prize_id" class="form-control" required> <option selected disabled> choose prize here</option> @foreach($prizes as $prize) <option value="{{ $prize->id}}">{{ $prize->prize_name }}</option> @endforeach </select> <button type="submit" class="btn btn-primary waves-effect mt-3">Add Data</button> </form></pre><div><br>Controller</div><pre>public function create() { $members = Member::all(); $prizes = Prize::all(); return view('create', ['prizes' => $prizes, 'members' => $members]); }
public function storeMemberPrize(Request $request) { MemberPrize::create([ 'member_id' => $request->input('member_id'), 'prize_id' => $request->input('prize_id'), ]); }</pre><div><br>Model</div><pre>// model prize class Prize extends Model { protected $table = "prize";
protected $fillable = ['prize_name'];
public function members()
{
return $this-&gt;belongsToMany(Member::class, 'Member_prize', 'member_id', 'prize_id')-&gt;withTimestamps();
}
} // // model member class Member extends Model { protected $table = "member";
protected $fillable = [
'name_member'
];
public function prizes()
{
return $this-&gt;belongsToMany(Prize::class, 'Member_prize', 'member_id', 'prize_id')-&gt;withTimestamps();
}
} // // model member_prize class Member_prize extends Model { protected $table = "member_prize";
protected $fillable = ['member_id', 'prize_id'];
} </pre>
Tanggapan
Mantap bang makasih bang tanggapanya..