我似乎无法从控制器中的更新功能中找到变量行程。这似乎是什么问题?
错误说:未定义的变量:行程(查看:C:\ xampp \ htdocs \ project_name \ resources \ views \ Agent \ edit.blade.php)
public function update(Request $request, $p_id){
$this->validate($request, [
'packageName' => 'required',
'adultPrice' => 'required',
'childPrice' => 'required',
'infantPrice' => 'required',
'excessPrice' => 'required',
'type' => 'required',
'inclusions' => 'required',
'additionalInfo' => 'required',
'reminders' => 'required',
'photo' => 'required',
'tags' => 'required',
'noOfDays' => 'required',
'day' => 'required',
'time' => 'required',
'destination' => 'required'
]);
$packages = Packages::find($p_id);
$packages->packageName = $request->input('packageName');
$packages->adultPrice = $request->input('adultPrice');
$packages->childPrice = $request->input('childPrice');
$packages->infantPrice = $request->input('infantPrice');
$packages->excessPrice = $request->input('excessPrice');
$packages->type = $request->input('type');
$packages->inclusions = $request->input('inclusions');
$packages->additionalInfo = $request->input('additionalInfo');
$packages->reminders = $request->input('reminders');
$packages->photo = $request->input('photo');
$packages->tags = $request->input('tags');
$packages->save();
$itinerary = Itinerary::find($p_id);
if($itinerary->p_id == $packages->p_id){
$itinerary->noOfDays = $request->input('noOfDays');
$itinerary->day = $request->input('day');
$itinerary->time = $request->input('time');
$itinerary->destination = $request->input('destination');
$itinerary->save();
return redirect('Agent/Packages')->with('success', 'Updated');
}
}
{{!!Form::open(array('class' => 'form-horizontal', 'method' => 'post', 'action' => array('AgentsController@update', $packages->p_id, $itinerary->p_id)))!!}}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Itinerary extends Model{
public $fillable = [
'p_id',
'noOfDays',
'day',
'time',
'destination'
];
protected $primaryKey = 'i_id';
}
?>
public function edit($p_id){
$packages = Packages::find($p_id);
$itinerary = Itinerary::find($p_id);
return View::make('\Agent\Edit', ['packages' => $packages, 'itineraries' => $itinerary]);
}
答案 0 :(得分:1)
传递数据的方式是错误的。
你可以通过几种方法。示例:
1 -
return View::make('Agent.edit', ['packages' => $packages, 'itinerary' => $itinerary]);
2 - return View::make('Agent.edit')->with(['packages' => $packages, 'itinerary' => $itinerary]);
3 - return View::make('Agent.edit')->with('packages', $packages)->with('itinerary', $itinerary);
答案 1 :(得分:0)
在您的edit.blade.php中,尝试通过$ itineraries(复数)重新启动$ itinerary变量。