سلام خسته نباشید دوستان من کدهای که نوشتم هرباری که چک میکنم اصلا غلط یا چیزی نداره نمیدونم علتش چیه
foreach() argument must be of type array|object, string given
اینم هم کدهای که نوشتم :
public function add_items($id,Request $request)
{
$product=Product::where('id',$id)->select(['id','title','cat_id'])->firstOrFail();
$item_value=$request->get('item_value');
DB::table('item_value')->where(['product_id'=>$id])->delete();
foreach($item_value as $key=>$value)
{
foreach($value as $key2=>$value2)
{
if(!empty($value2)){
DB::table('item_value')->insert([
'product_id'=>$id,
'item_id'=>$key,
'item_value'=>$value2
]);
}
}
}
}
اینم تصویر از ارور :
@husseinhashim1133
@salar.mohammad2013
خسته نباشید دوستان مشکلم برطرف شد حلقه ام درست بوده منتهی داخل فایل index.blade.php قسمت input قبلا اینجوری نوشتم یعنی تو قسمت name اشتباهی نوشتم
<input type="text" class="form-control" name="item_value[{{ $value2->id }}[]]">
بعد اومدم بررسی کردم که اینجا اشتباهی نوشتم و اصلاحش کردم و متحویاتی که میخواستم ذخیره شدن و ارور رفع شد
<input type="text" class="form-control" name="item_value[{{ $value2->id }}][]">
سلام $value داره بهت string میده به صورت array نیست که foreach کنی خوده $value رو dd بگیر
@husseinhashim1133
value$ یک نوع آرایه هست و (value$)dd براش گرفتم نشون میده ولی وقتی برمیدارم خطا میده
public function add_items($id,Request $request)
{
$product=Product::where('id',$id)->select(['id','title','cat_id'])->firstOrFail();
$item_value=$request->get('item_value');
DB::table('item_value')->where(['product_id'=>$id])->delete();
foreach($item_value as $key=>$value)
{
dd($value);
foreach ($value as $key2=>$value2)
{
if(!empty($value2)){
DB::table('item_value')->insert([
'product_id'=>$id,
'item_id'=>$key,
'item_value'=>$value2
]);
}
}
}
}
اینم خروجی :
شما روی چیزی که ارایه نیست داری پیمایش میکنی
مشکل اینه که ارایه نداری
باید ببینی میخوایی چیکار کنی پروژت چیه
چیزی که من میبینم حقه دوم رو پاک کن کلا به جای valur2 از همون value حلقه اول استفاده کن
داده هات رو باید بررسی کنی ببینی چیو داری ذخیره میکنی
سخته ما بگیم چی میخوایی شما
چون شما میدونی چه داده ای میگیری و چی میخوایی ذخیره کنی
باید جداول رو به نمایش بزاری دریافتی متد رو ب نمایش بزاری و ازین مسایل
ببینید سایت دیجی کالا قسمت مشخصات فنی محصول اگه دیده باشین یه کادر هست مثلا محتویات داخل کادر چیزی که می نویسن و اطلاعات رو ذخیره میکنن و میفرستن سمت دیتابیس بهش میگن add_iteme حالا من جدولشو ساختم و اطلاعات جدول اینه
public function up()
{
Schema::create('item_value', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('product_id');
$table->integer('item_id');
$table->text('item_value');
$table->timestamps();
});
}
بعد وقتی داخل کادر که طبق تصویر هست چیزی بنویسیم و بفرستیم سمت دیتابیس میخام این اطلاعات ذخیره بشه داخل دیتابیس که با خطا بالا که بهتون گفتم مواجه شدم
@husseinhashim1133 بله آقا محمد رضا درست میگه روشی که بهم گفت انجام دادم باز خطا میده
نمیدونم قسمت مشخصات محصول یا همون فنی دیجی کالا دیدی یا ن من کادرها ساختم که مثلا واسه مشخصات کلی ابعاد - وزن - اندازه و غیره ثبت کنم حالا وقتی داخل همین چیزی بنویسم خطا میده
@husseinhashim1133
@salar.mohammad2013
خسته نباشید دوستان مشکلم برطرف شد حلقه ام درست بوده منتهی داخل فایل index.blade.php قسمت input قبلا اینجوری نوشتم یعنی تو قسمت name اشتباهی نوشتم
<input type="text" class="form-control" name="item_value[{{ $value2->id }}[]]">
بعد اومدم بررسی کردم که اینجا اشتباهی نوشتم و اصلاحش کردم و متحویاتی که میخواستم ذخیره شدن و ارور رفع شد
<input type="text" class="form-control" name="item_value[{{ $value2->id }}][]">
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟