description

مشکل در آپلود تصویر

- 6 ماه پیش
توسط محمد نمازی آپدیت شد
محمد نمازی ( 28 تجربه )
6 ماه پیش

باسلام
برای آپلود تصویر این ارور رو دریافت میکنم .

Array to string conversion

کد کنترولر :

public function update(SettingRequest $request, Setting $setting)
  {
  //  $setting = Setting::findOrFail(1);
    $logo = $request->file('logoUrl');
    $favico = $request->file('favicoUrl');
    $inputs = $request->all();

    if($logo) {
      $inputs['logoUrl'] = $this->uploadImages($request->file('logoUrl'));
    } else {
      $inputs['logoUrl'] = $setting->logoUrl;
    }
    if($favico) {
      $inputs['favicoUrl'] = $this->uploadImages($request->file('favicoUrl'));
    } else {
      $inputs['favicoUrl'] = $setting->favicoUrl;
    }
    $setting->update($inputs);
    return redirect(route('settings.index'))->with('status', 'تغییرات با موفقیت ویرایش گردید .');
  }

کد آپلود :

  protected function uploadImages($file){

        $year = Carbon::now()->year;
        $imagePath = "/upload/images/{$year}/";
        $filename = $file->getClientOriginalName();

        $file = $file->move(public_path($imagePath), $filename);

        $sizes = ['300', '600', '900'];

        $url['images'] = $this->resize($file->getRealPath() , $sizes , $imagePath , $filename);
        $url['thumb'] = $url['images'][$sizes[0]];

        return $url;
    }

    private function resize($path , $sizes , $imagePath , $filename)
    {
        $images['original'] = $imagePath . $filename;
        foreach ($sizes as $size) {
            $images[$size] = $imagePath . "{$size}_" . $filename;

            Image::make($path)->resize($size, null, function ($constraint) {
                $constraint->aspectRatio();
            })->save(public_path($images[$size]));
        }

        return $images;
    }
بهترین پاسخ انتخاب شده توسط محمد نمازی
حسام موسوی
6 ماه پیش

فک کنم قبلا همین سوال رو شما بودید که پرسیدید دقیقا یادم نیست
ولی جواب سوالتون در ویدیوها بود و توضیح دادم که باید کد زیر رو مشخص کنید در داخل مدل مربوطه

    protected $casts = [
        'images' => 'array'
    ];

و نوع فیلد images هم باید از نوع text باشه

حسام موسوی ( 41763 تجربه )
6 ماه پیش

ارورتون مربوط به کدوم لاین میشه

محمد نمازی ( 28 تجربه )
6 ماه پیش

مربوط به آپلود تصویر میشه.
یعنی موقعی ک میخواد تصویر رو در دیتابیس ذخیره کنه مشکل پیدا میکنه و میگه نمیتونه آرایه رو داخل str بریزه.

حسام موسوی ( 41763 تجربه )
6 ماه پیش

فک کنم قبلا همین سوال رو شما بودید که پرسیدید دقیقا یادم نیست
ولی جواب سوالتون در ویدیوها بود و توضیح دادم که باید کد زیر رو مشخص کنید در داخل مدل مربوطه

    protected $casts = [
        'images' => 'array'
    ];

و نوع فیلد images هم باید از نوع text باشه

محمد نمازی ( 28 تجربه )
6 ماه پیش

خیر، من نبودم

برای ارسال پاسخ باید وارد سایت شوید