我正在从ajax的一个变量中传递字符串值,并想通过in循环将该字符串插入到不同的行中,现在只有一行插入索引为1的数组。我首先将字符串转换为数组,并具有根据计数值进行计数以运行循环,但仅插入索引为1的单行。对于计数2,仅插入单行。
控制器代码:
public function addSlider(Request $request){
$addbannerdata = new Banner;
$noofslides = $request->slidercount;
$slidername = explode(',',$request->allslidernames);
$btntitle = explode(',',$request->allbuttontitle);
$btnurl = explode(',',$request->allbuttonurl);
//dd($request->all());
for($i=0;$i<$noofslides;$i++){
$addbannerdata->banner_title = $request->maintitle;
$addbannerdata->page_id = $request->pageid;
$addbannerdata->slider_title = $slidername[$i];
var_dump($slidername[$i]);
$addbannerdata->button_title = $btntitle[$i];
var_dump($btntitle[$i]);
$addbannerdata->button_url = $btnurl[$i];
var_dump($btntitle[$i]);
$savebannerdata = $addbannerdata->save();
}
if($i>$noofslides)
{
$result['error'] = FALSE;
$result['message'] = 'Banner Data Added Successfully';
}
else
{
$result['error'] = TRUE;
$result['message'] = 'Something Went Wrong Please Try Again Later!';
}
echo json_encode($result);
}
答案 0 :(得分:1)
尝试使用count($ slidername)代替for循环条件,然后将$ addbannerdata = new Banner();在循环内部,否则只会插入单个数据
public function addSlider(Request $request){
$noofslides = $request->slidercount;
$slidername = explode(',',$request->allslidernames);
$btntitle = explode(',',$request->allbuttontitle);
$btnurl = explode(',',$request->allbuttonurl);
//dd($request->all());
for($i=0;$i<count($slidername);$i++){
$addbannerdata = new Banner();
$addbannerdata->banner_title = $request->maintitle;
$addbannerdata->page_id = $request->pageid;
$addbannerdata->slider_title = $slidername[$i];
var_dump($slidername[$i]);
$addbannerdata->button_title = $btntitle[$i];
var_dump($btntitle[$i]);
$addbannerdata->button_url = $btnurl[$i];
var_dump($btntitle[$i]);
$savebannerdata = $addbannerdata->save();
}
if($i>$noofslides){
$result['error'] = FALSE;
$result['message'] = 'Banner Data Added Successfully';
}
else{
$result['error'] = TRUE;
$result['message'] = 'Something Went Wrong Please Try Again Later!';
}
echo json_encode($result);
}
希望这对您有帮助
答案 1 :(得分:0)
尝试一下。
public function addSlider(Request $request){
$addbannerdata = new Banner;
$noofslides = $request->slidercount;
$slidername = explode(',',$request->allslidernames);
$btntitle = explode(',',$request->allbuttontitle);
$btnurl = explode(',',$request->allbuttonurl);
for($i=0;$i < count($noofslides);$i++){
$addbannerdata->banner_title = $request->maintitle;
$addbannerdata->page_id = $request->pageid;
$addbannerdata->slider_title = $slidername[$i];
$addbannerdata->button_title = $btntitle[$i];
$addbannerdata->button_url = $btnurl[$i];
$savebannerdata = $addbannerdata->save();
}
if($i > $noofslides)
{
$result['error'] = FALSE;
$result['message'] = 'Banner Data Added Successfully';
}
else
{
$result['error'] = TRUE;
$result['message'] = 'Something Went Wrong Please Try Again Later!';
}
echo json_encode($result);
}