Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中向数据库插入多个数据_Php_Laravel - Fatal编程技术网

Php 在laravel中向数据库插入多个数据

Php 在laravel中向数据库插入多个数据,php,laravel,Php,Laravel,嗨,我是拉威尔的新手,我在将数据插入数据库和抛出错误时遇到了麻烦 “count():参数必须是 数组或实现“可数”的对象 我想在数据库中添加所有已注册员工的考勤详细信息 控制器 public function Attendence() { $data=employee_data::all(); return view('attendence',compact('data')); } public function mark

嗨,我是拉威尔的新手,我在将数据插入数据库和抛出错误时遇到了麻烦

“count():参数必须是 数组或实现“可数”的对象

我想在数据库中添加所有已注册员工的考勤详细信息

控制器

    public function Attendence() 
    {
        $data=employee_data::all();
        return view('attendence',compact('data'));
    }   

    public function mark_attendence(Request $request)
    {
        $request->validate([
        'date'  =>  'required',
        'is_present'  =>  'required'

        ]);


        $data=$request->all();
        $last_id=employee_data::create($data)->id;
        if (count($request->is_present) >0 )
         {
            # code...
            foreach ($return->is_present as $item => $v)
            {
                $data2=array(
                    'is_present' =>$request->is_present[$item],
                    'date'=> $request->date[$item],
                    'user_id'=>$last_id
                );

            }
        //$data2->save();

    //$employee->save();
    //$employee->employee_data()->create([]);



        return redirect('/index')->with('succ','Attendence Added Successfully');
    }
叶片输出:

提交 身份证件 名字 姓 加入日期 邮递 评论 @foreach($行数据) {{$row->id} {{$row->first_name} {{$row->last_name} {{$row->加入日期} {{$row->post} &出席 &缺席 @endforeach 身份证件 名字 姓 加入日期 邮递 评论 模型 班级员工注意力扩展模型 { //

}

模型2 名称空间应用程序

使用Illumb\Database\Elount\Model

类employee_数据扩展模型 { //受保护的$fillabel=[‘姓’、‘姓’、‘联系号码’、‘加入日期’、‘邮寄’]

protected $fillable  = array('first_name', 'last_name', 'contact_no' ,'date_joining','post' );
//protected $fillable=[];
public $timemstamps= false ;

public function employee_attendence()
{
        //return $this->hasOne( employee_attendence::class, 'App/employee_attendence');
        return $this->belongsTo('App\employee_attendence');
}
}

据我所知。您可能有
is\u present
将是视图中的数组格式,如
name=“is\u present[]”
。如果这是您的情况,那么下面的代码可以正常工作。如果不是,则如果输入不是对象或数组,则不能使用
count()

公共功能标记出席(请求$Request)
{
对于($i=0;$iis_present);$i++)
{
$emp=新员工的考勤();
如果($request->is_present[$i]=“present”)
$emp->is_present=“present”;
如果($request->is_present[$i]=“缺席”)
$emp->is_present=“缺席”;
$emp->date=now();
$emp->user_id=$request->user_id[$i];
$emp->save();
}
返回重定向('/index')->带有('succy','attentince Added Successfully');
}

在“添加考勤”方法中,尝试以下操作 这对我有用

for($i = 0; $i < sizeof($request->is_present); $i++)
    {
        $emp = new employee_attendence();

        if($request->is_present[$i] == "Present")
            $emp->is_present = "Present";
        if($request->is_present[$i] == "Absent")
            $emp->is_present = "Absent";

            $emp->date = $request->date; 
            $emp->user_id = $request->user_id[$i];
            $emp->save();
    }
for($i=0;$iis_present);$i++)
{
$emp=新员工的考勤();
如果($request->is_present[$i]=“present”)
$emp->is_present=“present”;
如果($request->is_present[$i]=“缺席”)
$emp->is_present=“缺席”;
$emp->date=$request->date;
$emp->user_id=$request->user_id[$i];
$emp->save();
}

您的
是否存在
视图侧的阵列?不存在缺席查看我下面的答案它将适用于您。但是你有像
缺席
呈现
这样的值,因此请相应地检查条件。它引发了一个错误:未定义的错误:return你是一次标记缺席或呈现,还是先选中或取消选中,然后立即提交?ErrorException未定义变量:return我刚刚展示了循环的一个简单逻辑。您必须在下表中插入
$data2
。$data2?如果你还记得我也给了你答案的话。
public function mark_attendence(Request $request)
{
    for($i = 0; $i < sizeof($request->is_present); $i++)
    {
        $emp = new employee_attendence();

        if($request->is_present[$i] == "Present")
        $emp->is_present = "Present";
        if($request->is_present[$i] == "Absent")
        $emp->is_present = "Absent";

        $emp->date = now();
        $emp->user_id = $request->user_id[$i];
        $emp->save();
    }
    return redirect('/index')->with('succ','Attendence Added Successfully');
}
for($i = 0; $i < sizeof($request->is_present); $i++)
    {
        $emp = new employee_attendence();

        if($request->is_present[$i] == "Present")
            $emp->is_present = "Present";
        if($request->is_present[$i] == "Absent")
            $emp->is_present = "Absent";

            $emp->date = $request->date; 
            $emp->user_id = $request->user_id[$i];
            $emp->save();
    }