如何为数据库插入传递对象?

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 教程或读一本书,这样你会避免很多错误并节省很多时间。

以上是关于如何为数据库插入传递对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何为批量插入配置spring boot和data jpa

JPA/Hibernate:如何为 @ManyToOne 插入默认值,其中值表示空条目

如何为 API 集成传递 jS 变量?

如何为java准备好的语句插入使用表名变量[重复]

c# 如何为聚合对象的变量创建属性?

如何为已弃用的 AFNetworking 2.0 传递授权令牌