Herkese merhaba, Laravelin kendi dökümantasyonun bakarak ilişkilere çalışıyorum fakat MorphOne kısmına geldiğinde takıldım. Aslında kodlarıda dökümanda kendi yazdıklarından bakarak kullanıyorum fakat yinede hata alıyorum. Sebebi nedir?
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'App\Models\Post' for column `polymorph_db`.`images`.`imageable_type` at row 1
INSERT INTO
`images` (`url`, `imageable_id`, `imageable_type`)
VALUES
(storage / asset / avatar.png, 21, App \ Models \ Post)`
Bu sql koduda gözüme doğru gibi geldi ama anlamadım.
Post Model:
public function image(): MorphOne
{
return $this->morphOne(Image::class, 'imageable');
}
Image Model:
protected $fillable = ['url'];
public $timestamps = false;
public function imageable(): MorphTo
{
return $this->morphTo();
}
Kodlarım İlk Denemem:
$post = Post::create([
'title' => 'Lorem ipsum dolor sit amet?',
'user_id' => 6
]);
$image = $post->image()->create([
'url' => 'storage/asset/avatar.png',
]);
Kodlarım İkinci Denemem:
$post = Post::create([
'title' => 'Lorem ipsum dolor sit amet?',
'user_id' => 6
]);
$image = Image::create([
'url' => 'storage/asset/avatar.png'
]);
return $post->image()->save($image);