首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Laravel中传递依赖选择值

在Laravel中传递依赖选择值
EN

Stack Overflow用户
提问于 2019-08-04 17:16:50
回答 1查看 356关注 0票数 0

我正在尝试传递shop_id,它是从markets表中选择的一个依赖项。应该将shop_id与sales_date、sales_amount和sales_remarks一起传递到sales表。我可以正常通过asset_id,但由于依赖选择,我遇到了困难,因为我不太擅长java脚本。任何形式的帮助都将不胜感激。谢谢!

这是我的控制器:

代码语言:javascript
复制
<?php


namespace App\Http\Controllers;

use App\Asset;
use App\Http\Requests\SaleRequest;
use App\Market;
use App\Sale;
use App\Shop;
use App\User;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Session;

class SaleController extends Controller
{

    public function __construct()
    {
        $this->middleware('auth');
    }

    public function create()
    {
        $user = User::pluck('name', 'id');
        $asset = Asset::pluck('asset_tag', 'id');
        $shop = Shop::pluck('shop_name', 'id');
        $markets = Market::all();

        $sales = Sale::with('user', 'asset', 'shop')->get();
        return view('sales.create', ['user' = $user, 'asset' = $asset, 'sales' = $sales, 'shop' => $shop], compact('markets'));

    }

    public function store(SaleRequest $request)
    {
        $data = $request->only(['user_id', 'asset_id', 'shop_id', 'sales_date', 'sales_amount',
            'sales_remarks', 'sales_status', 'created_by', 'updated_by']);

        $sale = Sale::create($data);

        session::flash('sale_msz', 'Sales Amount Successfully Enlisted');
        return redirect('/sales/create');

    }

    public function shops()
    {
        $markets_id = Input::get('market_id');
        $shops = Shop::where('market_id', '=', $markets_id)->get();
        return response()->json($shops);
    }
}

以下是路由:

代码语言:javascript
复制
Route::resource('sales', 'SaleController');

Route::get('/json-shops','SaleController@shops');

Create.blade.php:

代码语言:javascript
复制
{!! Form::open(['url' ='/sales', 'method' =>'post']) !!}
    @include('sales.form')
{!! Form::close() !!}
<br>

form.blade.php:

代码语言:javascript
复制
<div class="form-group">
    <label class="control-label col-md-3 col-sm-3 col-xs-12">
       <br{!! Form::label('Sales Date') !!}
    </label>
    <div class="col-md-9 col-sm-9 col-xs-12">

        <div class='input-group date' id='myDatepicker2'>
          {!! Form::text('sales_date', isset($sales->sales_date) ? $sales->sales_date : null, ['class'='form-control', 'required'=>'required', 'placeholder' ='2018-12-31']) !!}
            <span class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>
            </span>
        </div>

    </div</div>

        <div class="form-group">
            <label for="">Choose Market</label>
            <select class="form-control" name="markets" id="markets">
              <option value="0" disable="true" selected="true">Select Markets </option>
                @foreach ($markets as $key =$value)
                  <option value="{{$value->id}}">{{ $value->territory }}</option>
                @endforeach
            </select>
          </div>

          <div class="form-group">
            <label for="">Shop</label   
<select class="form-control" name="shops" id="shops">
<option value="0" disable="true selected="true">Select Shops</option>
</select>

         </div>
            <script type="text/javascript">

      $('#markets').on('change', function(e){
        console.log(e);
        var market_id = e.target.value;
        $.get('/json-shops?market_id=' + market_id,function(data) {
          console.log(data);
          $('#shops').empty();
         $('#shops').append('<option value="0" disable="true" selected="true">Select Shops</option>');
          $.each(data, function(index, shopsObj){
          $('#shops').append('<option value="'+ shopsObj.id +'">'+ shopsObj.shop_name +'</option>');
          })
        });
      });

    </script>


     <div class="form-group">
         <label class="control-label col-md-3 col-sm-3 col-xs-12">
           {!! Form::label('Sales Amount') !!}
         </label>
         <div class="col-md-9 col-sm-9 col-xs-12">

            {!! Form::number('sales_amount', isset($sales->sales_amount) ? $sales-sales_amount  : null, ['class'=>'form-control', 'required'=>'required','placeholder' ='0.00']) !!}
         </div</div>




     <div class="form-group">
         <label class="control-label col-md-3 col-sm-3 col-xs-12">
         {!! Form::label('Sales Remarks') !!}
         </label>
         <div class="col-md-9 col-sm-9 col-xs-12">
           {!! Form::textarea('sales_remarks', isset($sales->sales_remarks) ?  
           $sales->sales_remarks : null, ['class'='form-control','placeholder' ='Write remarks']) !!} </div>
         </div>

    <div class="form-group">
         <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3"  
             <button type="submit" class="btn btn-success btn-sm">Submit</button>
             <button type="reset" class="btn btn-warning btn-sm">Reset</button>
         </div</div>

销售模式

代码语言:javascript
复制
class Sale extends Model
{
    use SoftDeletes;
    protected $dates = ['deleted_at','sales_date'];
    protected $fillable = ['user_id', 'asset_id', 'shop_id','sales_date', 'sales_amount', 'sales_remarks','sales_status'
        , 'created_by','updated_by'];

    public function user()
    {
        return $this->belongsTo('App\User');
    }
    public function asset()
    {
        return $this->belongsTo('App\Asset');
    }
    public function shop()
    {
        return $this->belongsTo('App\Shop');
    }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57345331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档