Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » SSO laravel » 17.07.2018 17:16:36

Извиняюсь за оффтоп.
Похоже большая часть толковых форумчан уехала в отпуск на Гоа и Куршавель.

Я к сожалению, не смогу ответить на ваш вопрос.

#3 Laravel 5.x » Не могу прикрепить изображение к записи » 15.07.2018 17:34:54

humen2000
Ответов: 1

Добрый день!

Новичок в laravel.

Пытаюсь сделать свой блог, без использования дополнительных пакетов.

Использую связь один к одному.

Запись сохраняется, но информация о картинке не сохраняется.

Модель Image:
namespace App;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Support\Str;

class Image extends Model
{
    // Mass assigned
    protected $fillable = ['article_id', 'imgsrc', 'miniature'];

    public function articles()
    {
      return $this->belongsTo('App\Article','article_id','id');
    }
   
}

Модель Article:

namespace App;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Support\Str;

class Article extends Model
{
    // Mass assigned
    protected $fillable = ['title', 'slug', 'description_short', 'description', 'image_id', 'meta_title', 'meta_description', 'meta_keyword', 'published', 'created_by', 'modified_by'];

    // Mutators
    public function setSlugAttribute($value) {
      $this->attributes['slug'] = Str::slug( mb_substr($this->title, 0, 40) . "-" . \Carbon\Carbon::now()->format('dmyHi'), '-');
    }

    public function categories()
    {
      return $this->morphToMany('App\Category', 'categoryable');
    }
   
    public function images()
    {
      return $this->hasOne('App\Image','image_id','id');
    }
   
    public function scopeLastArticles($query, $count)
    {
      return $query->orderBy('created_at', 'desc')->take($count)->get();
    }
}

Контроллер, метод update:

    public function update(Request $request, Article $article)
    {
        $article->update($request->except('slug'));

        $article->categories()->detach();
        if($request->input('categories')) :
          $article->categories()->attach($request->input('categories'));
        endif;   
        //$article->images()->dissociate();       
        if($request->file('images')):
           $imageName = time() . '.' . $request->file('images')->getClientOriginalExtension();
           $request->file('images')->move(public_path('images'), $imageName);
           $article->image = '/images/'.$imageName;
           //$article->images()->associate('/images/'.$imageName)->save();
        endif;
       
        $article->save();

        return redirect()->route('admin.article.index');
    }


Вот что тут не так?

Документацию перечитал вдоль и поперек по этому вопросу и примеры в интернете.

Помогите найти ошибку

Подвал раздела