Laravel在db中插入集合

时间:2017-06-21 13:58:18

标签: php laravel-5 eloquent

我使用以下方法从db检索了一些数据:

$filtered = DB::table('tmp_table')->distinct()->select('type','description','note')->get();

我想在另一个表中插入我检索到的内容,如:

DB::table('tmp_other')->insert($filtered);

但我收到了错误:

Type error: Argument 1 passed to Illuminate\Database\Query\Builder::insert() must be of the type array, object given

这是最好的方法吗?

3 个答案:

答案 0 :(得分:2)

执行blunk插入的SQL方法更像是原生的:

DB::insert(
      "INSERT INTO tmp_other (type,description,note) 
       SELECT DISTINCT type,description,note FROM tmp_table"
); 

这将避免整个传输到webserver /传输回SQL服务器进程。

答案 1 :(得分:1)

这样做可以尝试这个:)

$filtered = DB::table('tmp_table')->distinct()->select('type','description','note')->get();
$filtered->toArray();

DB::table('tmp_other')->insert($filtered);

答案 2 :(得分:0)

这可以解决问题:)

 $QueryToCreateUser = $conn->prepare("CREATE USER  '?'@'localhost' IDENTIFIED BY ? ;");
 $QueryToCreateUser->bind_param('ss',$CreateUser,$CreatePassword);