我试图从Laravel中的控制器访问Ad.php模型中的模型方法。我尝试的方式和其他框架一样,所以也许我在Laravel做错了。
我需要在创建或更新记录之前执行一些操作。这些操作对于这两个操作都是相同的,所以我想将逻辑放在模型方法中并在控制器中调用它。
执行此操作后,我只有空白的白色窗口,没有错误。为什么呢?
我在Controller中的代码:
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class AdsController extends Controller {
public function update(Request $request, $id) {
$input = Request::all();
\App\Ad::saveMultiFields($input);
}
}
型号:
<?php
namespace App;
use Barryvdh\Debugbar\Facade as Debugbar;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Ad extends Eloquent {
public static function saveMultiFields($input) {
Debugbar::info($input);
return true;
}
}
答案 0 :(得分:1)
您需要返回视图:
public function update(Request $request, $id) {
$input = Request::all();
\App\Ad::saveMultiFields($input);
return view('ad.updated');
}
或重定向:
public function update(Request $request, $id) {
$input = Request::all();
\App\Ad::saveMultiFields($input);
return redirect()->back()->with('message', 'Ad was updated');
}