1
私はajaxを使用して、データベースから選択ボックスにデータを取得しています。グループを選択すると、それぞれの内容が表示されます。Ajaxを使用してデータベースからデータを取得する - Laravel
フォームを表示しようとすると、Undefined variable: packages
と表示されますが、私のコントローラのビューにパッケージが返されています。
紛失しているものはありますか?
PackageController
public function create()
{
$groups = Group::all();
$selectedGroup = $group->pluck('id')->toArray();
return view('group.detail',compact('selectedGroup','groups'));
}
public function getpackages($id)
{
$groups = Group::findOrFail($id);
$packages= $groups->packages;
return view('group.detail',compact('packages'));
return $id;
}
group.details.blade.php
<div class="input-group control-group after-add-more">
<div class="form-group">
<!-- <label for="select" class="col-lg-2 control-label">Select Item</label> -->
<div class="col-lg-10">
<select class="form-control" id="group" name="group[]" mulitple>
@foreach($groups as $group)
<option value="{!! $group->id !!}" @if(in_array($group->id, $selectedGroup)) selected="selected" @endif >
{!! $group->name!!}
</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<!-- <label for="select" class="col-lg-2 control-label">Select Item</label> -->
<div class="col-lg-10">
<select class="form-control" id="remove_select" name="packages" mulitple>
@foreach($packages as $package)
<option value="{!! $package->id !!}" >
{!! $package->name!!}
</option>
@endforeach
</select>
</div>
</div>
<script>
$('#category').change(function(e)
{
e.preventDefault();
$y = $(this).val();
alert($y);
$.ajax
({
url: '{{ url('getpackages') }}/'+$y,
type: 'GET',
dataType: 'json',
success: function(data)
{
console.log(data);
}
});
});
</script>
ビューを2つの別々のビューに分割しますか?どうすればいいですか? –
@ LearnProgramming 2つの別々のブレードテンプレートが必要ですが、1つではありません。 –
それから、別の方法を見つけなければならないでしょう。なぜなら、私は達成したいものと別々のビューを持つことができないからです。 –