hcan Hocam ben burayı tam anlayamadım. Size yardımcı olabilmek için fikir yürütmeye çalışayım.
Şimdi bu Discussion modeli mi? (App\Discussion)
Şimdi öyleyse; burada neden protected $primaryKey='id';
kullanıyorsunuz? Laravel zaten discussion tablonuzdaki primary key'i varsayılan olarak 'id' sütunu kabul eder. 'id' yerine başka bir sütunu primary yapacağımız zaman bunu kullanıyoruz.
İkincisi protected $fillable
kısmında 'created_at','updated_at' eklemenize gerek yok. Laravel'in timestaps() fonksiyonu ile oluşuyor onlar. create() metodunda Mass Assigment hatasına sebep olmaz.
Tam düşüncenizi bilmediğim için yorum yapmak da zor oluyor ama discussion tablonuzda user_id tutuyorsanız burada yapmaya çalıştığınız şu değil mi:
User hasone Discussion
Discussion belongs to User
Bu durumda public function user() içerisinde belongsto , User modelinizde public function discussion() içerisinde de hasone kullanmanız gerekir.