Q:

Call to a member function attach() on null

Связь "Один ко многим"
Связываю таблицы "Категории" и "Статьи", когда пытаюсь привязать id категории к статьи происходит ошибка Call to a member function attach() on null.
Article.php
    <?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Article extends Model
{
    use SoftDeletes;

    protected $guarded = [];    
    protected $dates = ['deleted_at'];

    public function user()
    {
        return $this->belongsTo('App\User');
    }

        public function tags() {
            return $this->belongsToMany('App\Tag')->withTimestamps();
        }

        public function category() {
            return $this->belongsTo('App\Category');
        }

}

Category.php
    <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $fillable = [
        'id','name'
    ];
    public function articles() {
        return $this->belongsToMany('App\Article')->withTimestamps();
    }
}

Controller
 public function create(Request $request) {

    // Выбираю только id так как они в форме отображаются с именами, ид выделяется верно, тут проверял
    $categoryID = preg_replace("/[^,0-9]/", '', $request->input('category'));

    $article->category->attach($categoryID);

    return redirect()->back()->with('message', 'Материал добавлен');
}

A:

Для связи реляций belongsTo используйте метод associate:
$article->category()->associate($categoryID);

$article->save();

