如何为数据库插入传递对象?
Posted
技术标签:
【中文标题】如何为数据库插入传递对象?【英文标题】:How to pass an object for DB insert? 【发布时间】:2017-08-08 14:24:19 【问题描述】:我需要将记录插入到数据库中。我应该如何通过控制器?
例如要删除记录,我通过 Id,它看起来像
routes.php 函数:
Route::get('/template/delete/id', array(
'as' => 'template_delete',
'uses' => 'ThoughtRiver\Template\Controllers\TemplateController@deleteTemplate'
));
控制器功能:
public function deleteTemplate($id)
return DB::table('template')->where('Id', '=', $id)->delete();
那么在插入的情况下如何传递记录对象呢? 它是一个后端功能,所以对象不应该从表单中获取。 (来自 http 发布请求正文?)
【问题讨论】:
您需要处理数据的html form, route and function
。
这是一个后端函数,不应该存在表单。那么应该怎么看路由func,怎么翻译post request body呢?
我找到了这个教程来帮助你如何创建restful api in Laravel
@AmrAly 非常有用的教程!谢谢!它救了我。
很高兴听到这个消息。
【参考方案1】:
通常,您从表单中获取数据,因此使用 Request 对象获取数据:
public function store(Request $request)
Model::create($request->all());
$request->all()
将使用来自提交表单的数据创建一个数组。要使create()
方法起作用,您应该先填充$fillable 数组。
【讨论】:
我是 php 新手,能否请您展示一下 route.php 函数的外观,以及在哪里填充可填充数组?我的数据不应该从表单中获取,它是一个后端功能。在这种情况下如何传递对象?发布请求路线? @Mira 您应该在模型中创建并填充$fillable
数组(如User
)。路线应该看起来像Route::post('some-data/store', 'SomeController@store')
。我建议你看一些 Laravel 教程或读一本书,这样你会避免很多错误并节省很多时间。以上是关于如何为数据库插入传递对象?的主要内容,如果未能解决你的问题,请参考以下文章