我在Laravel的Orders_Controller
中有一個叫做getOrders($ user)的函數。它調用一個原始的數據庫查詢並構建一個返回的JSON數組。來自Laravel的呼叫控制器功能Routes.php
我無法弄清楚如何從我的路線文件中調用此函數。
基本上我在路由中接收一個POST,插入新的Order,然後我想從這個Routes函數調用getOrders(user)來獲得給定用戶的所有現有Orders。
有人可以幫我弄清楚如何從Routes.php中調用這個函數嗎?
routes.php文件
//Handle a new order POST
Route::post('order', array('do' => function() {
...
... //HANDLE POST DATA AND INSERT NEW ORDER
...
//GET ALL ORDERS FOR THIS USER FROM ORDER CONTROLLER
$userOrders = Order_Controller::myOrders($thisUser);
}
order.php(在Controllers文件夾)
class Order_Controller extends Base_Controller
{
public function myOrders($user){
return DB::query("SELECT ...");
}
}
所以我真的應該在控制器中處理POST數據,然後在Controller中調用這個函數?我試圖理解在現有網站上實現Laravel的最佳方式,但我不確定路由/控制器/模型應該如何協同工作。 – jamis0n
@ jamis0n你也可以這樣做(我的偏好)。如果您註冊了控制器,並且您的路由很簡單,那麼您不需要有路由。要註冊你的控制器,你需要調用Route :: controller(array('order','anothercontroller'));'在你的路由文件中 – afarazit
Gotcha ...所以如果我從Routes.php中刪除了POST路由,如果通過我剛剛添加到答案中的Laravel示例實現了訂單,POST命令將被捕獲到訂單控制器中? – jamis0n