0

我有两个表有关系:

包装表:

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');
            });
        });
4

0 回答 0