【问题标题】:Access model method in controller Laravel控制器 Laravel 中的访问模型方法
【发布时间】:2017-03-15 14:22:59
【问题描述】:

我正在尝试从 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;
    }
}

【问题讨论】:

    标签: laravel


    【解决方案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');
    }
    

    【讨论】:

    • 哦,我犯了多么愚蠢的错误。它有效,谢谢!但也许我应该留下这个问题,因为在 laravel 中很难找到如何在控制器中调用模型方法
    猜你喜欢
    • 2013-02-02
    • 2011-10-22
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2018-08-16
    相关资源
    最近更新 更多