gpt4 book ai didi

php - laravel 5.3 ORM中如何调用mysql存储过程带参数说明

转载 作者:行者123 更新时间:2023-12-04 14:27:54 25 4
gpt4 key购买 nike

我创建了一个名为 new_user 的存储过程并对其进行了测试,当我在 sequel pro 和 workbench 中进行通话时工作正常。

我现在正在尝试使用 laravel 5.3 调用存储过程。我使用 laravel insert create 函数做了一个测试,它工作正常,这告诉我我已经正确设置了 laravel ORM。

然后我在 Laravel 站点文档上搜索了一下,看到了一些 stackoverflow 解决方案并尝试实现它,但似乎没有一个工作。这是我迄今为止尝试过的

模型 php 非常简单

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model as EloquentModel;

class Model extends EloquentModel {
protected $table = null;
}

在另一个类中,我使用了以下功能
 $user = new \App\Models\Model;
//this calls but nothing gets inserted into the database
$user::select('call new_user("myemail@test.com","mypassword","myname","mysurname");');

//same thing happens but nothing gets inserted into the database
$user::select($user::raw('call new_user("myemail@test.com","mypassword","myname","mysurname");'));

// this makes slim 3 throw BadMethodCallException
$user::statement('call new_user("myemail@test.com","mypassword","myname","mysurname");');

// this makes slim 3 throw BadMethodCallException
$user::statement('call new_user(_email,_password,_name,_surname)values(?,?,?,?)',["myemail@test.com","mypassword","myname","mysurname"]);

现在不确定如何调用存储过程。我只是想知道我做错了什么。谢谢你的帮助

最佳答案

您不需要模型类来调用存储过程。
只需调用:

DB::statement('call new_user(?, ?, ?, ?)',["myemail@test.com","mypassword","myname","mysurname"]);

关于php - laravel 5.3 ORM中如何调用mysql存储过程带参数说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41652639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com