سلام دوستان
یه سیستم حضور غیاب دارم که میخوام همزمان حضور غیاب چند نفر رو داخل دیتا بیس ذخیره کنم
دیتام هم به این صورته
اینجا من دو تا یوزر دارم ولی ممکن 100 یا 200 تا یوزر باشن که باید هم زمان دیتا ذخیره شه
این یه جدول pilot نیست یه مدل مجزا داره به دلایلی از روابط استفاده نکردم
ممنون میشم راهنمایی کنید
من از این جواب گرفتم
ممنون🙏🙏
foreach ($request->user_id as $index => $user_id) {
\DB::table("table_name")->insert([
"user_id" => $request->user_id[$index],
"course_id" => $request->course_id[$index],
"jalasat" => $request->jalasat[$index],
"date" => $request->date[$index],
"time" => $request->time[$index],
"status" => $request->status[$index],
]);
}
جدول مورد نظر نمیدونم چه ردیفهایی داره، ولی میتونید دیتایی که باید insert بشه رو داخل یک آرایه ذخیره کنید و در نهایت کلش رو insert کنید
@juza66
آخه خود یوزر حضور نمیزنه
استاد قراره حضور بزنه،یه لیستی از دانشجو ها رو نمایش میدم انتخاب میکنه کدوم حاضرن کدوم غایب!!
@juza66
دارم سعی میکنم با foreach این کارو انجام بدم ولی خطا میده
$usersId = $request['user_id'];
$teachers_id = $request['teacher_id'];
$courses_id = $request['course_id'];
$status = $request['status'];
$date = $request['date'];
$time = $request['time'];
$jalasat = $request['jalasat'];
try {
foreach ($usersId as $userId) {
$savedata = Attendance::create(
[
'user_id' => $userId,
'teacher_id' => $teachers_id,
'course_id' => $courses_id,
'status' => $status,
'date' => $date,
'time' => $time,
'jalasat' => $jalasat
]
);
خطا:Array to string conversion
گاهي پيش مياد نياز به اين جور ثبت ديتا داشته باشيد
اينكه در داخل حلقه اين كار رو انجام بديد اصلا بهينه نيست و بسيار هم كند ميشه
با کد زیر بهینه تر اجرا میشه
$usersId = $request['user_id'];
$teachers_id = $request['teacher_id'];
$courses_id = $request['course_id'];
$status = $request['status'];
$date = $request['date'];
$time = $request['time'];
$jalasat = $request['jalasat'];
try {
$insert_array=[];
foreach ($usersId as $userId) {
$insert_array[] = [
'user_id' => $userId,
'teacher_id' => $teachers_id,
'course_id' => $courses_id,
'status' => $status,
'date' => $date,
'time' => $time,
'jalasat' => $jalasat
];
}
Attendance::insert($insert_array);
من از این جواب گرفتم
ممنون🙏🙏
foreach ($request->user_id as $index => $user_id) {
\DB::table("table_name")->insert([
"user_id" => $request->user_id[$index],
"course_id" => $request->course_id[$index],
"jalasat" => $request->jalasat[$index],
"date" => $request->date[$index],
"time" => $request->time[$index],
"status" => $request->status[$index],
]);
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟