控制器Laravel中的访问模型方法

时间:2017-03-15 14:23:00

标签: laravel

我试图从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;
    }
}

1 个答案:

答案 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');
}