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

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

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

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;
    }
بهترین پاسخ انتخاب شده توسط محمد نمازی
حسام موسوی
11 ماه پیش

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

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

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

حسام موسوی ( 73384 تجربه )
11 ماه پیش

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

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

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

حسام موسوی ( 73384 تجربه )
11 ماه پیش

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

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

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

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

خیر، من نبودم

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