複合キーを持つモデルをバインドしようとしています。私は私がするためにクラスを注入しています方法を見て、複合キーによるルートバインド
$router->bind('laptop', function ($company, $model) {
$laptop = ... select laptop where company=$company and ...;
return $laptop;
});
を今:私は解決したいと私は定義し、今
Route::get('laptop/{company}/{model}', '[email protected]');
:私は私のルートを定義する最初の場所を見て、取りますコントローラにラップトップを取得する:関数に解決をテストするために:
function test(Laptop $laptop){
return 'ok';
}
はしかし、私は、次のエラーが発生します:
BindingResolutionException in Container.php line 839:
エラーが$router->bind('laptop'
によって発生したと仮定します。これは、URL(「会社」または「モデル」)の一意のプレースホルダに一致する必要があるためです。私の場合、私は同時に両方を一致させる必要があるので、私は失われます。
Note: I am not using db/eloquent layer. This problem is focused in the way on how to resolve route binding with multiples keys representing an unique object.
私は何かが不足しているかどうかわかりません。ご提案いただきありがとうございます。
問題は雄弁レイヤーではなく、ルートロジックに問題があります。具体的にはルート経由で2つのキーを使ってバインドを解決する方法は? – manix
"複合キーを持つモデルをバインドしようとしています。"これはモデルでコンポジットキーを使用していると言ったので、これはうまくいきません。ララベルはそれをサポートしていないので。 –
はい、私はモデルを使用していますが、雄弁な文脈ではありません – manix