【发布时间】:2021-03-16 05:01:46
【问题描述】:
我有一个带有“存储”方法的 Laravel 控制器。即存储(请求 $request)。
对于视图,我想嵌入一个 livewire 组件,然后利用 livewire 组件方法中的现有控制器“存储”方法(在幕后)。这可能吗?目前,我遇到了没有 Request 对象的问题,因为我不再从现有的路由/视图(即 POST /orders)进行调用。
public function oms_order()
// this method provides the POST /orders leveraging
// Controllers\OrderController@store
{
$this->refId = app('App\Http\Controllers\OrderController')->store($this->jsonOrder);
}
传递给 App\Http\Controllers\OrderController::store() 的参数 1 必须是 Illuminate\Http\Request 的实例,给定 null,在 D:\xampp\htdocs\jade\livewire_hpp\app 中调用\Http\Livewire\Oms.php 第 26 行
我可以从 store 方法中删除“Request $request”,但这会破坏标准的 Laravel POST /orders 路由。
我希望使用现有的 laravel 应用程序作为后端/API,并添加 livewire 位进行演示。欢迎任何建议。
【问题讨论】:
-
试试
store(\Illuminate\Http\Request $this->jsonOrder); -
试试
app(OrderController::class)->store(request(), $this->jsonOrder)
标签: laravel methods laravel-livewire