我有这样的路线:
Route::post('{object}', 'CommentController@store')->name('store');
我想将一个对象作为参数传递给我的表单操作:
<form action="{{ route('comment.store', $object) }}" method="post" id="comment--form"></form>
如果我传递了我的查询对象,你知道我会得到查询对象的id
如果我传递这样的东西:{{ route('comment.store', (new app\anyObject())) }}
我会得到异常,并且由于某些多态性原因我无法使用模型绑定,因为该对象可能是任何对象,所以我想知道是否有任何解决方案我的问题
PS
我有一个多态评论系统,我不知道它是否是装饰设计模式,但我想通过我的界面动态保存评论,所以我想像这样动态保存评论:
public function store(Request $request, $object)
{
// comments() is an implementation of an interface
$object->comments()->create([
'name' => auth()->check() ? $request->user()->fullName() : $request->name,
'email' => $request->user()->email ?? $request->email,
'comment' => $request->content,
]);
}
但是我无法传递一个对象,因为无论如何都要通过路径或任何其他想法或解决方案传递它?
感谢。
答案 0 :(得分:0)
您无法在网址中传递任何对象数组或表单数据。您可能需要考虑在您的方法中执行base64_encode然后解码。这可以解决您的问题。