laravel 使用多个数据库,查询语法 [重复]

Posted

技术标签:

【中文标题】laravel 使用多个数据库,查询语法 [重复]【英文标题】:laravel use multiple database, query syntax [duplicate] 【发布时间】:2014-06-27 10:28:30 【问题描述】:

我找不到连接多个db和chain sql查询的方式,

如何使用原始 mysql 语法?

$id = DB::connection('mysql1')->select(DB::raw('INSERT INTO article_category (name) VALUES (:name)'), array(
    'name' => $name
));  // did I do something wrong this not work..

如何使用laravel方法?

$id = DB::connection('mysql1')->table('article_category')->insertGetId(
    array(
        'name' => $name
    )
);

【问题讨论】:

【参考方案1】:

你是这样生的:

DB::connection('mysql1')
    ->statement(
         DB::raw('insert into article_category (name) values (?)'),
         array($name)
    );

要在插入后获取 ID,这是一种方法:

为您的表格创建模型:

class Post extends Eloquent 

并在您的表上创建一条记录,选择特定的连接连接:

$post = Post::on('connectionName')->create($arrayOfvalues);

echo $post->id;

【讨论】:

感谢您的回复!我都想知道。 已编辑以提供更多相关信息。 我是不是对DB::connection('mysql1')->select(DB::raw('INSERT INTO article_category (name) VALUES (:name)'), array( 'name' => $name )); 做错了什么?它不起作用 Laravel 使用定位 ? 作为查询参数,所以它的 VALUES (?) 当我使用它时它会显示错误但它实际上存储成功DB::connection('mysql1')->select(DB::raw('INSERT INTO article_category (name) VALUES (:name)'), array('name' => $name )); 但是当我更改为DB::connection('mysql1')->select(DB::raw('INSERT INTO article_category (name) VALUES (?)'), array('name' => $name )); 时没有错误消息但没有成功存储到数据库它是空数组

以上是关于laravel 使用多个数据库,查询语法 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel多个数据库同时使用所有[重复]

如何使用 Laravel Eloquent 在不同服务器上的多个数据库之间执行连接查询?

Laravel 7 迁移:语法错误或访问冲突:1068 定义了多个主键

php join 多个查询结果 laravel

Laravel - 在简单的数据库查询内存泄漏/“允许的内存大小为 .. 字节耗尽”之后 [重复]

laravel 的DB::raw() 语法使用