如何将两个数组变量传递给视图页面以及laravel 5.2中的值

时间:2016-09-10 06:19:42

标签: php laravel-5.2

我正在创建编辑页面。所以在表单字段中我想要从两个表中获取数据..所以在控制器中我从每个表中获取数据到不同的数组变量。并尝试将这些变量传递到同一个视图页面..并尝试获取字段的一个表数据和其他下拉列表。但它显示错误

  

未定义属性:Illuminate \ Database \ Eloquent \ Collection :: $ groupID   (查看:C:\ xampp \ htdocs \ opennGTS \ resources \ views \ vehicle \ add.blade.php)

我的控制器页面在下面给出了

 public function edit($id)
{
    try {
        //Find the vehicle object from model if it exists
        $grouplist = Map::select('groupID','description')->get();


        $devices = DB::table('device')->where('deviceID', '=', $id)->get();

        //Redirect to edit vehicle form with the user info found above.
        return view('vehicle.add')->with('devices', $devices)->with('grouplist',$grouplist);


    } catch (ModelNotFoundException $err) {
        //redirect to your error page
    }
}

和查看页面

 @extends('app')

@section('content')
    <br><br><br><br><br>
    <div class="templatemo-content-wrapper">
        <div class="container">
            <ol class="breadcrumb">
                <li><a href="{{ url("/") }}"><font color="green">Home</font></a></li>
                <li class="active">View/Edit Vehicle</li>
            </ol>
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <div class="panel panel-success">
                        <div class="panel-heading">View/Edit Vehicle Information</div>
                        <div class="panel-body">
                            @if (count($errors) > 0)
                                <div class="alert alert-danger">
                                    <strong>Whoops!</strong> There were some problems with your input.<br><br>
                                    <ul>
                                        @foreach ($errors->all() as $error)
                                            <li>{{ $error }}</li>
                                        @endforeach
                                    </ul>
                                </div>
                            @endif

                            <form class="form-horizontal" role="form" method="POST" action="{{ url('vehicle/update/') }}">
                                <input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach($devices as $device)
                                <div class="form-group">
                                    <label class="col-md-4 control-label">Vehicle ID</label>
                                    <div class="col-md-6">

                                        <input type="text" class="form-control" name="deviceID" value="{{ ($device->deviceID)}}">

                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Creation date</label>
                                    <div class="col-md-6">

                                        <input type="text" class="form-control" name="creationTime" value="{{ date('Y/m/d H:i:s',($device->creationTime))}}">

                                    </div>
                                </div>

                                <!--<div class="form-group">
                                    <label class="col-md-4 control-label">Server ID</label>
                                    <div class="col-md-6">

                                        <input type="text" class="form-control" name="userID" value="" placeholder="Enter User ID">

                                    </div>
                                </div>  -->

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Unique ID</label>
                                    <div class="col-md-6">

                                        <input type="text" class="form-control" name="uniqueID" value="{{ ($device->uniqueID)}}" placeholder="Enter Unique ID">

                                    </div>
                                </div>


                                <div class="form-group">
                                    <label class="col-md-4 control-label">Active</label>
                                    <div class="col-md-6">
                                        <select class="form-control" value="{{ ($device->isActive) }}" name="isActive" >
                                            <option value="1">Yes</option>
                                            <option value="0">No</option>
                                        </select>
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Vehicle Description</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="description" value="{{ ($device->description) }}" placeholder="Enter the description">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Short Name</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="displayName" value="{{ ($device->displayName) }}" placeholder="Enter Display Name">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Vehicle ID</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="vehicleID" value="{{ ($device->vehicleID) }}" placeholder="Enter Vehicle ID">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">License Plate</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="licensePlate" value="{{ ($device->licensePlate) }}" placeholder="Enter license Plate">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">License Expiration</label>
                                    <div class="col-md-6">
                                        <input type="date" class="form-control" name="licenseExpire" value="{{ ($device->licenseExpire) }}" placeholder="Enter license Expire Date">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Equipment Type</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="equipmentType" value="{{ ($device->equipmentType) }}" placeholder="Enter E-Mail Address">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Equipment Status</label>
                                    <div class="col-md-6">
                                        <select class="form-control" value="{{ ($device->equipmentStatus) }}" name="equipmentStatus" >
                                            <option>Unspecified</option>
                                            <option value="inservice">In Service</option>
                                            <option value="rented">Rented</option>
                                            <option value="pending">Pending</option>
                                            <option value="completed">Completed</option>
                                            <option value="available">Available</option>
                                            <option value="unavailable">Unavailable</option>
                                            <option value="repair">Repair</option>
                                            <option value="retired">Retired</option>

                                        </select>
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">IMEI/EDN Number</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="imeiNumber" value="{{ ($device->imeiNumber) }}" placeholder="Enter IMEI/EDN Number">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Serial Number</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="serialNumber" value="{{ ($device->serialNumber) }}" placeholder="Enter Serial Number">
                                    </div>
                                </div>

                            <!--    <div class="form-group">
                                    <label class="col-md-4 control-label">Data Key</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="notifyEmail" value="" placeholder="Enter E-Mail Address">
                                    </div>
                                </div>  -->

                                <div class="form-group">
                                    <label class="col-md-4 control-label">SIM Phone</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="simPhoneNumber" value="{{ ($device->simPhoneNumber) }}" placeholder="Enter SIM Phone Number">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">SMS Email Address</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="smsEmail" value="{{ ($device->smsEmail) }}" placeholder="Enter SMS E-Mail Address">
                                    </div>
                                </div>

                            <!--    <div class="form-group">
                                    <label class="col-md-4 control-label">Group Pushpin ID</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="notifyEmail" value="" placeholder="Enter E-Mail Address">
                                    </div>
                                </div>  -->

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Map Route Color</label>
                                    <div class="col-md-6">
                                        <select class="form-control" value="{{ ($device->displayColor) }}" name="displayColor" >
                                            <option>Default</option>
                                            <option value="#000000">Black</option>
                                            <option value="#a52a2a">Brown</option>
                                            <option value="#dd0000">Red</option>
                                            <option value="#b37400">Orange</option>
                                            <option value="#008f00">Green</option>
                                            <option value="#0000ee">Blue</option>
                                            <option value="#9400d3">Purple</option>
                                            <option value="#505050">Grey</option>
                                            <option value="#00b3b3">Cyan</option>
                                            <option value="#ff1493">Pink</option>
                                            <option value="none">None</option>
                                        </select>
                                    </div>
                                </div>




                                <div class="form-group">
                                    <label class="col-md-4 control-label">Fuel Capacity</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="fuelCapacity" value="{{ ($device->fuelCapacity) }}" >
                                    </div>
                                </div>


                                <div class="form-group">
                                    <label class="col-md-4 control-label">Driver ID</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="driverID" value="{{ ($device->driverID) }}">
                                    </div>
                                </div>

                         <!--       <div class="form-group">
                                    <label class="col-md-4 control-label">Reported Odometer</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="notifyEmail" value="" placeholder="Enter E-Mail Address">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Reported Engine Hours</label>
                                    <div class="col-md-6">
                                        <input type="email" class="form-control" name="notifyEmail" value="" placeholder="Enter E-Mail Address">
                                    </div>
                                </div>  -->

                                    <div class="row">
                                        <div class="col-md-3 margin-bottom-15">
                                            <label class="control-label">Group Membership</label>
                                            <select class="form-control" value="{{ old('groupID') }}" name="groupID" >
                                                @foreach( $grouplist as $group)
                                                    @if ($grouplist->groupID == old('description'))
                                                        <option value="{{ $group->groupID }}" selected>{{ $group->groupID.'['.$group->description.']' }}</option>
                                                    @else
                                                        <option value="{{ $group->groupID }}" >{{ $group->groupID.'['.$group->description.']' }}</option>
                                                    @endif
                                                @endforeach
                                            </select>
                                        </div>

                                    </div>


                                <div class="form-group">
                                    <div class="col-md-6 col-md-offset-4">
                                        <button type="submit" class="btn btn-warning">
                                            Update
                                        </button>
                                    </div>
                                </div>
@endforeach
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

任何人请告诉我如何做到这一点以及我在代码中做了什么错误。回应很明显。

2 个答案:

答案 0 :(得分:0)

在这个foreach中

@foreach( $grouplist as $group)

你正在做$grouplist->groupID

而不是$group->groupID

您获得的异常是告知groupID类中不存在Collection。在您的循环中,$grouplist是您的收藏集,$group是您的收藏品

答案 1 :(得分:-1)

我更喜欢这种方式:

  return view('vehicle.add',[
          'devices'=>$devices,
          'groupList'=>$groupList
    ]);

但是,你可以使用它:

    return view('vehicle.add')->with(['devices'=>$devices,'groupList'=>$groupList]);