第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel route() 函數(shù)未將正確的類型傳遞給控制器

Laravel route() 函數(shù)未將正確的類型傳遞給控制器

PHP
月關(guān)寶盒 2023-11-03 15:50:33
刀片代碼:<td><a href="{{ route('employee.show', ['lang' => app()->getLocale(), 'employee' => $employee->id]) }}">{{ $employee->first_name }} {{ $employee->last_name }}</a></td>                                <td><a href="{{ route('employee.update', ['lang' => app()->getLocale(), 'employee' => $employee->id]) }}" class="btn btn-primary">{{ __('app-text.indexEdit') }}</a></td>                                <td><form action="{{ route('employee.delete', ['lang' => app()->getLocale(), 'employee' => $employee->id]) }}" method="post">控制器功能:public function edit(Employee $employee){    $companies = Company::get();    return view('employee.edit', compact('employee', 'companies'));}錯誤:TypeErrorArgument 1 passed to App\Http\Controllers\EmployeesController::edit() must be an instance of App\Employee, string givenhttp://localhost:8000/fr/employee/edit/1路線:Route::group(['prefix' => '{lang}'], function() {    Route::prefix('employee')->name('employee.')->group(function() {                Route::get('/edit/{employee}', 'EmployeesController@edit')->name('edit');        Route::patch('/edit/{employee}', 'EmployeesController@update')->name('update');我正在嘗試使應(yīng)用程序成為多語言應(yīng)用程序,因此在添加 lang 變量后,路由將不會傳遞 $employee->id 變量。我應(yīng)該為 lang 變量添加一個可傳遞給控制器的變量嗎?有什么解決辦法嗎?非常感謝。
查看完整描述

4 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

首先你可以制定一條改變語言的路線


Route:: get('lang/{lang}', function ($locale) {

    session(['locale' => $locale]);

    return \Redirect::back();

})

第2步:中間件


public function handle($request, Closure $next)

    {

        App::setLocale(session('locale'));

        return $next($request);

    }

可以建群后


Route::group(['middleware' => 'language'],function(){

    //routes with u want change language

    Route::get('/edit/{employee}', 'EmployeesController@edit')->name('edit');

    Route::patch('/edit/{employee}', 'EmployeesController@update')->name('update');

});

并且您忘記在每條路線中發(fā)送語言


查看完整回答
反對 回復(fù) 2023-11-03
?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗 獲得超8個贊

如果您也在路線中經(jīng)過,locale那么應(yīng)該如下所示:


網(wǎng)頁.php


Route::get('your-Own-route/{lang}/{employee}','YourController@edit');

控制器編輯方法


public function edit($lang,Employee $employee)

{

    $companies = Company::get();

    return view('employee.edit', compact('employee', 'companies'));

}


查看完整回答
反對 回復(fù) 2023-11-03
?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊

我認(rèn)為你必須像這樣修改你的路線


在 web.php 中


Route::get('your-route/{lang}/{id}','YourController@edit');

在你的控制器中


public function edit($lang,Employee $employee)

{

    $companies = Company::get();

    return view('employee.edit', compact('employee', 'companies'));

}


查看完整回答
反對 回復(fù) 2023-11-03
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

你的參數(shù)不對。正如堆棧跟蹤所示,控制器方法需要Employee模型的實例,但您正在傳遞一個字符串


改變


public function edit(Employee $employee)


public function edit(Request $request, $employeeId) // you can remove $request if you dont intend to perform redirects

所以最后你的代碼看起來像


public function edit(Request $request, $employeeId)

{

  $employee = Employee::find($employeeId);

  $companies = Company::all(); // use all instead of get if you arent going to perform selections.

  return view('employee.edit', compact('employee', 'companies'));

}

$employeeId注:您可能需要處理根據(jù)提供的信息找不到員工的情況


查看完整回答
反對 回復(fù) 2023-11-03
  • 4 回答
  • 0 關(guān)注
  • 268 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號