با سلام من با روابط پلی مورفیک مدل های پروداکت و فتو رو پر کردم. در مدل فتو:
public function Imageable()
{
return $this->morphTo();
}
و در مدل محصول:
public function photos()
{
return $this->;morphMany("App\Photos","imageable");
}
و در جدول عکس ها به این صورت ذخیره کردم:
$imagePath = "/upload/images/{$year}/{$month}/{$day}";
$filename = $photo->;store( $imagePath);
$product->;photos()->;create(\['path'=>;$filename,'imagebleid'=>;$id, 'imagabletype' =>; Product::class\]);
حال وقتی در bladeاین کدو میزنم
@if($product->photos->;count()>; 0) >lt;img class="first-img" src="{{asset('storage/app/' . $product->;photos->;first()->;path)}}" ">;
@endif
میگه
Property [photos] does not exist on this collection instance.
اگه ممکنه کمکم کنید.
@hesammousavi
@ali.bayat
@hosseinshirinegad98
@akabiri68
مشکل کنترولر و متدی هست که پروداکت رو به بلید ارسال کردید ، اونجا پروداکت رو dd کنید ببینید چی توشه ، باید photos رو توش ببینید
بهتره photos رو هم توی همون کنترولر اول load کنید بعد توی بلید استفاده کنید .
ممنون از راهنماییتون. وقتی return $product رو میزنم همه مشخصات رو میده ولی وقتی میزنم
return $product->photos->first()->path;
همون ارور قبل رو میده
@akabiri68
کدتون یه اشتباه کوچیک داره
return $product->photos->first()->path
return $product->photos()->first()->path
اولی photos آرایه از اینستنس ها برمیگردونه و دومی کالکشن بر میگردونه ، متد first() و ... روی کالکشن باید استفاده بشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟