我已经在10月份的CMS项目中完成了这项工作
public function getJenisKebOptions(){
$kebum = Db::table('mismaiti_settingwarta_jeniskeb')->select('jeniskeb')->where('katkeb','Umum/Raya')->get();
$kebums = json_decode(json_encode($kebum),true) ;
$ibum = array_values($kebums[0]);
$ibum1 = array_values($kebums[1]);
$ibum2 = array_values($kebums[2]);
return ['jeniskeb' => $ibum,$ibum1,$ibum2 ];
}
我需要缩短它,所以当有更多三个数组时,我不必编写长行代码。
edited(solved)
public function getJenisKebOptions(){
$kebum = Db::table('mismaiti_settingwarta_jeniskeb')->where('katkeb','Umum/Raya')->pluck('jeniskeb','jeniskeb');
return $kebum;
}
答案 0 :(得分:0)
我对你的代码感到困惑
返回[' jeniskeb' => $ ibum,$ ibum1,$ ibum2];
您需要返回什么输出。 getJenisKebOptions
,您需要返回jenis_keb
的选项,并且必须采用key => value
格式,因此我建议用户最后一招只需2行代码即可返回options
。
一般用途,您可以使用以下代码:
您可以替换代码
$kebums = json_decode(json_encode($kebum),true) ;
$ibum = array_values($kebums[0]);
$ibum1 = array_values($kebums[1]);
$ibum2 = array_values($kebums[2]);
return ['jeniskeb' => $ibum,$ibum1,$ibum2 ];
使用
$kebums = json_decode(json_encode($kebum),true);
$returnArray = [];
foreach ($kebums as $values) {
$returnArray[] = $values;
}
return ['jeniskeb' => $returnArray];
如果您想要更专业的方式,可以使用内置函数
pluck
public function getJenisKebOptions(){
// MismaitiSettingwartaJeniskeb <= your model
$items = MismaitiSettingwartaJeniskeb::where('katkeb', 'Umum/Raya')
->pluck('jeniskeb', 'id');
return $items;
}