我的数据库中有2个表。我的第一张桌子,桌子上有文字:
结构表" 单词":
--------------
[id] | [word]
--------------
[11] | [тоҷик]
[12] | [ӯзбек]
[13] | [падар]
[14] | [модар]
[15] | [китоб]
[16] | [қалам]
[17] | [ручка]
--------------
第二张表,包含说明的表格:
结构表" 描述":
---------------------------------------
[id] | [word_id] | [description]
---------------------------------------
[1] | [11] | [Миллати давлати...]
[2] | [12] | [Ӯзбекистон давл...]
[3] | [13] | [Шахсе ки сарвар...]
[4] | [14] | [Инсоне мобошанд...]
[5] | [15] | [Китоб - ин пред...]
[6] | [16] | [Предмети барои ...]
[7] | [17] | [Предмет барои н...]
---------------------------------------
数组中描述字的示例:
$array_words_description = array
(
'тоҷик' => 'Миллати давлати Ҷумҳурии Тоҷикистон. Забони давлати мазкур.',
'ӯзбек' => 'Ӯзбекистон давлати дар Осиёи маркази ҷойгиршуда. Забони давлатиашон забони ӯзбеки мебошад.',
'падар' => 'Шахсе ки сарвари оила мебошад ва оилаи худро бо меҳру муҳаббат ва бо хӯрду - хӯрок таъмин менамояд.',
'модар' => 'Инсоне мобошанд, ки мову шуморо ба дунё оварда ба воя мерасонанд. Бузургтарин шахс дар олам ин модар аст.',
'китоб' => 'Китоб - ин предмете, ки ба ҳамаи мо илму маърифатро, донишу сабақро меомӯзонад.',
'қалам' => 'Предмети барои нашитаҷот пешбинишуда.',
'ручка' => 'Предмет барои навистан пешбини шудааст. Бисёртар ин предметро донишомӯзандагон истифода мебаранд.',
);
如何通过在数组键中将description
表中的单词标识符添加到word
字段,将此说明添加到word_id
表。
答案 0 :(得分:4)
您可以这样做:
foreach ($array_words_description as $word => $description) {
$word = Word::create(['word' => $word]);
$word->description()->create(['description' => $description]);
}
您可以在$fillable
数组中添加列名,并在description
模型中定义Word
关系。
但是我建议你只使用一个表来表示单词及其描述,只用一个查询插入数据,而不是创建N * 2个查询数:
array_walk(&$array_words_description, function ($word, $description) {
return compact('word', 'description');
});
Word::insert($array_words_description);
答案 1 :(得分:0)
您的雄辩模型课程中可能没有任何关系 你可以通过这样的方式实现你想要的目标
$word_id = DB::table('words')->insertGetId(['word' => $word]);
DB::table('descriptions')->insert(['word_id' => $word_id, 'description' => $description]);