问题描述
我有两个有关联的表:
包装表:
slug
Package_Banner_Image
Package_Type
Package_Name
Package_Price
Package_Duration
Package_Level
Package_Short_Description
Package_Description
Featured
Package_Location
程序表
id
package_id
day
title
description
因此,在我的管理面板中,当我尝试使用该关系进行创建时,无论您从哪个包创建,它都只会添加到package_id = 1。
我的包裹模型
class Package extends Model
{
protected $guarded = [];
public function program() {
return $this->hasOne(Program::class);
}
}
我的程序模型
class Program extends Model
{
protected $guarded = [];
public function package() {
return $this->belongsTo(Package::class);
}
}
现在这是我的PackageProgramController
页面上用于创建和存储的代码:
public function create($packageSlug) {
$package = Package::firstorFail();
return view('admin.create.createPackageProgram',compact('package'));
}
public function store(Request $request,$packageSlug)
{
$packages = Package::firstOrFail();
$data = request()->validate([
'day' => 'required','title' => 'required','description' => 'required',]);
$packages->program()->create($data);
switch ($request->input('action')) {
case 'preview':
return redirect()->intended(route('PackageProgram',$packageSlug))->with('message','Package Program has been added.');
break;
default:
return redirect()->back()->with('message','Package Program has been added.');
break;
}
}
现在终于我的路线看起来像这样:
Route::prefix('package-programs')->group(function() {
Route::get('/','AdminVisible\PackageController@index')->name('PackagePrograms');
Route::prefix('{packageSlug}')->group(function() {
Route::get('/','AdminVisible\PackageProgramController@index')->name('PackageProgram');
Route::get('/create','AdminVisible\PackageProgramController@create')->name('PackageProgram.create');
Route::post('/create','AdminVisible\PackageProgramController@store')->name('PackageProgram.store');
});
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)