【问题标题】:Where and how to create a stored procedure in Laravel 5在 Laravel 5 中在何处以及如何创建存储过程
【发布时间】:2016-09-09 03:47:42
【问题描述】:

我在我的项目中使用 laravel 5.1,直到现在它一直很完美,直到我想在其中使用存储过程。

到目前为止,我收集的信息为

 $result = DB::select('call InsertNewApplicant(?????????????????????????)',
                    array($firstName, $middleName, $addressLine_1, $addressLine_2, $postCode, $landline, $mobile, $email,
                    $DOB, $maritalStatus, $industry, $occupation, $jobTitle, $selfEmployed, $selfAssessment, $workHome,
                    $ownTransport, $companyVehicle, $paySubs, $otherIncome, $printForms, $marketingUs, $marketingOther,
                    $agreedTNCs, $TNCVersion, $CampaignSource));

可能正在使用此代码让控制器更新来自 mysql 的任何数据, 但是作为 Laravel 的初学者,我不知道在哪里定义我的存储过程以及在哪个文件中

我访问了很多链接,但我只能得到这段代码,而不是一个完美的例子。

您能否详细说明如何在控制器中调用存储过程以执行特定操作的小示例?

以及所有的前提条件和其他需要注意的事项

【问题讨论】:

  • 所以你的意思是,我所要做的就是当我提交任何表单时,我只需将此代码粘贴到我的控制器中就可以了吗?
  • 我的朋友我不知道。我刚刚看到你的问号之间没有逗号,然后谷歌了。我做 mysql 和 php 但不是 laravel
  • 哦,好吧..谢谢你的努力

标签: php mysql laravel stored-procedures


【解决方案1】:

哇哇哇。你正在使用 Laravel,所以请不要编写这样的代码。这是一种罪过!

请阅读 Laravel 快速入门指南中的以下示例: https://laravel.com/docs/5.2/quickstart#eloquent-models https://laravel.com/docs/5.2/quickstart#creating-the-task

第一个是关于 Eloquent 模型(您应该绝对使用),第二个向您展示如何使用这些模型将数据存储在数据库中。


现在开始手头的任务。我认为使用

DB::statement(DB::raw("CALL InsertNewApplicant('$firstName', '$middleName');"));

等等,等等应该可以解决问题......

【讨论】:

  • 通过这个例子你正在创建 SQL 注入漏洞。
【解决方案2】:

是的。将其放入控制器中,并保持这种状态,直到您想更改某些内容。您可以将其抽象为可能被模拟的专用类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    相关资源
    最近更新 更多