我有一个问题,我想从城市表中创建一个下拉列表并在包视图中显示。 如何在包视图中创建 city_name?
谢谢
这是我的代码 _create.blade.php
@extends('layouts.admin.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-sm-6 col-md-6 col-lg-6">
<div class="card">
<div class="card-header">Create Pack Master</div>
<div class="card-body">
<form action="{{ route('packs.store') }}" method="post">
@include('packsmaster._form', ['buttonText'=>'Save', 'inputName'=>'Pack Name'])
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
_form.blade.php
@csrf
<div class="form-group">
<label for="pack-name" class="col-md-4 col-form-label">{{ $inputName }}</label>
<input id="pack-name" type="text" name="pack_name" class="form-control @error('pack_name') is-invalid @enderror"
value="{{ old('pack_name', $pack->pack_name) }}" autocomplete="pack_name" autofocus>
@error('pack_name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="form-group">
<label for="city_name">City Name</label>
<select class="form-control" id="city_name">
@foreach ($cities as $city)
<option>{{ $city->city_name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<button type="submit" class="btn btn-outline-secondary">{{ $buttonText }}</button>
<a href="{{ route('packs.index') }}" class="btn btn-outline-danger">Cancel</a>
</div>
这是来自 pack 的表格,我正在尝试从 City 表中获取 city_name。但我认为我不能直接调用它。我想在带有下拉列表的 create pack master 中显示 city_name。
包控制器.php
<?php
namespace App\Http\Controllers;
use App\Pack;
use App\City;
use Illuminate\Http\Request;
use App\Http\Requests\PackRequest;
class PacksController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$packs = Pack::latest()->paginate(5);
return view('packsmaster.index', compact('packs'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$pack = new Pack();
return view('packsmaster._create', compact('pack'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(PackRequest $request)
{
// $request->user()->packs()->create($request->only('pack_name'));
// return redirect('packs')->with('success', "your data has bee saved!!");
$request->user()->packs()->create($request->only('pack_name'));
return redirect('packs')->with('success', "your pack has been saved!!");
}