【问题标题】:Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: )错误:SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列 '0' (SQL: )
【发布时间】:2016-08-28 15:19:47
【问题描述】:

我正在尝试使用 Laravel Query 将一行从一个表复制到另一个表,但出现以下错误。

$invoice = Capsule::table('tblinvoices')->where('id', $invoiceid)->get(); //array
$copiedInvoiceid = Capsule::table('mod_myinvoices')->insertGetId(array($invoice));

错误:SQLSTATE[42S22]:未找到列:1054 “字段列表”中的未知列“0”(SQL:)

我使用CREATE TABLE mod_myinvoices LIKE tblinvoices 创建了mod_myinvoices 表。

有什么建议吗?

【问题讨论】:

  • 显示代码 insertGetId()
  • 但是 $invoice 这是一个索引数组,例如 ['0' => Capsule_row_1, ..]。您需要获得一个关联数组,例如 [column_name => value,..]

标签: mysql laravel whmcs


【解决方案1】:

试试吧!

改变

    $invoice = Capsule::table('invoices')->where('id', $invoiceid)->get(); 
    $copiedInvoiceid = Capsule::table('myinvoices')->insertGetId(array($invoice));

收件人

    $invoice = Capsule::table('invoices')->where('id', $invoiceid)->first(); 
    $copiedInvoiceid = Capsule::table('myinvoices')->insertGetId((array)$invoice);

【讨论】:

  • 工作就像一个魅力。谢谢
  • @JohnPriestakos。你需要更多的解释。我会更新
  • 不,我明白了。感谢您的解决方案。
【解决方案2】:

试试看。

$invoice = Capsule::table('invoices')->where('id', $invoiceid)->get();

$invoiceArr = (array) $invoice[0]; // convert object to array    

$copiedInvoiceid = Capsule::table('myinvoices')->insertGetId($invoiceArr);  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 2021-10-31
    • 2018-10-23
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多