如何创建存储过程laravel

时间:2016-06-28 14:46:54

标签: php laravel stored-procedures laravel-5

您好我一直在寻找某种方式来指导Laravel中的存储过程但到目前为止找不到任何内容。我的问题基本上是我有一个巨大的参数列表,我需要发送到名为InsertNewApplicant的存储过程,但我不知道如何构建查询。

这就是我到目前为止所做的全部内容,我不知道在哪里选择将数据库发送给该数据库以及如何建立与该数据库的连接。

非常感谢任何帮助

 $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));

这是我的两个数据库 - 我需要将这些数据发送到sqlserv数据库,所以我不知道该怎么做

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'SECRET'),
    'port' => env('DB_PORT', 'SECRET'),
    'database' => env('DB_DATABASE', 'SECRET'),
    'username' => env('DB_USERNAME', 'SECRET'),
    'password' => env('DB_PASSWORD', 'SECRET'),
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    'strict' => false,
    'engine' => null,
],
'sqlsrv' => array(
    'driver' => 'sqlsrv',
    'host' => ' AN IP ADDRESS', // Provide IP address here
    'database' => 'SECRET',
    'username' => 'SECRET',
    'password' => 'SECRET',
    'prefix' => '',
),

1 个答案:

答案 0 :(得分:4)

您的首要任务是将应用程序配置为连接到存储过程所在的数据库.Laravel网站上有大量文档可指导您如何执行此操作:https://laravel.com/docs/5.1/database

快速线索是查看app/config/database.php文件。一旦你查看该文件,该做什么应该是相当明显的。

配置完数据库后,请务必使用DB::connection()方法选择正确的数据库。在您的情况下,您可以执行:$conn = DB::connection('sqlsrv')来获取连接。

添加数据库连接配置后,应通过调用DB::select()方法调用存储过程。请记住在每个参数占位符(问号)之间包含逗号:

$conn = DB::connection('sqlsrv');
$result = $conn->select('call InsertNewApplicant(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
  [
    $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
  ]
);