我不知道為什麼我沒有從模態中獲得 Laravel 控制器的價值。請幫我查一下。
但是,我對其他模式和控制器使用相同的程式碼。它正在工作,並且返回屬性中的值,沒有任何問題。
我正在使用 Laravel 8 和 php 8.1;
下面是我的程式碼。
app\Http\Controllers\Admin\MpdController.php
#public function edit(mpd $mpd) { dd($mpd); }
app\Models\admin\mpd.php
#use App\Models\taxcategories; class mpd extends Model { use HasFactory; public $table = 'purchdata'; protected $primaryKey = 'sno'; protected $dates = [ 'created_at', 'updated_at', 'approved_at', ]; protected $fillable = [ 'sno', 'supplier', 'stockid', 'price', 'discount', 'disc_flag', 'tax_category', 'preferred', 'createby', 'modifiedby', 'approvedby', 'history', ]; /** * Get the tax_category that owns the maintainpurchasingdata * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function tax_category(): BelongsTo { return $this->belongsTo(taxcategories::class, 'tax_category', 'taxrate'); } }
路由\web.php
#Route::resource('maintainpurchase', 'MpdController');
P粉9201997612024-03-30 09:13:42
路由模型綁定會根據變數名稱前面的名稱自動決定變數名稱
例如:Route::resource('images', 'ImageController')
#期望控制器中存在Image $image
。
使用php artisan route:list
並尋找括號之間的值並更改
public function edit(mpd $mpd)
至
public function edit(mpd $THEVALUEBETWEENTHEBRACKETS)
或用路由資源定義上的參數函數修改參數名稱
Route::resource('maintainpurchase', 'MpdController')->parameter('VALUEBETWEENTHEBRACKET', 'mpd');