在 Laravel 5.1 中使用资源控制器时如何绑定模型对象

How do I bind a Model Object while using resource controller in Laravel 5.1

我要找的是这样的东西

public function store(Help $help)
{
    $help->save();

    return response
}

我添加了模型 class 是 Routes.php 这样的文件

Route::model('help', 'App\Help');
Route::resource('api/help', 'HelpController');

这是我的 Help.php 文件

class Help extends Model
{
    use SoftDeletes;

    protected $primaryKey = 'id';

    protected $table = 'help';

    protected $dates = ['deleted_at'];

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = array('name','description','deleted_at','created_at', 'updated_at');

}

绑定在一定程度上发生,即 table 中有一个新行,但属性 "name" 和 "description" 为空。

我认为你误解了路由模型绑定的概念...

我想,你真正想要的,是这样的:

public function store(Illuminate\Http\Request $request)
{
    $help = new Help($request->all());
    $help->save();

    return back()->with('success', true);
}

路由模型绑定更可能用于例如更新方法,因为您有模型的现有实例,您可以使用。

例如:

public function update(Illuminate\Http\Request $request , Help $help) {
    // help exists and the correct model instance is automatically resolved through route model binding...
    $help->fill( $request->all() );
    $help->save();

    return redirect()->back()->with( 'updated', true );
}

您可以运行命令

php artisan route:list

检查可以在何处使用路由模型绑定。您在 {} 中看到的变量 喜欢{帮助}