當我添加時,dh_setting_context' => 'user1'我收到錯誤Array to string conversion,但是,當我從播種機中洗掉該行時,它可以正常作業并且表已正確填充。為什么dh_setting_context' => 'user1'生成器會出錯以及如何修復它?
這是我的播種機檔案
namespace App\Database\Seeds;
use CodeIgniter\Database\Seeder;
use \CodeIgniter\I18n\Time;
class DhSettingSeeder extends Seeder
{
public function run()
{
$data = [
// app - General App Settings
[
'dh_setting_key' => 'app.dh_company_name' ,
'dh_setting_value' => 'ABC Big Co., Ltd',
'dh_setting_created_at' => Time::now(),
'dh_setting_updated_at' => Time::now()
],
[
'dh_setting_key' => 'app.dh_company_address_line_1' ,
'dh_setting_value' => '123 Long Street',
'dh_setting_created_at' => Time::now(),
'dh_setting_updated_at' => Time::now()
],
// email - general settings for email
[
'dh_setting_key' => 'email.fromEmail' ,
'dh_setting_value' => '[email protected]',
'dh_setting_created_at' => Time::now(),
'dh_setting_updated_at' => Time::now()
],
[
'dh_setting_key' => 'email.SMTPHost' ,
'dh_setting_value' => 'smtp.mail.yahoo.com',
'dh_setting_created_at' => Time::now(),
'dh_setting_updated_at' => Time::now()
],
// add some user settings for admin user (user id = 1)
[
'dh_setting_key' => 'user.timezone' ,
'dh_setting_value' => 'gmt',
'dh_setting_context' => 'user1',
'dh_setting_created_at' => Time::now(),
'dh_setting_updated_at' => Time::now()
]
];
$this->db->table('dh_setting')->insertBatch($data);
}
}
這是我的表的結構

uj5u.com熱心網友回復:
并非所有條目$data都具有相同的鍵。
CodeIgniter 從第一個條目 ( 'dh_setting_key', 'dh_setting_value', 'dh_setting_created_at', 'dh_setting_updated_at') 中獲取鍵并使用這些鍵檢查 中的所有條目$data。
如果條目的鍵相同,它會創建一個包含條目值的字串。
如果條目的鍵不同,則會創建一個空陣列。
對于 INSERT 查詢,CodeIgniter 然后嘗試將值字串與空陣列連接起來,這是不允許的并給出錯誤。
要修復,請添加'dh_setting_context' => null,到其他條目。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/394471.html
上一篇:嵌套例外是org.hibernate.exception.SQLGrammarException:couldnotexecutequery]根本原因java.sql.SQLException:Colu
