سلام دوستان
سوالم اینه برای ذخیره تصاویر باید نوع اون را چی قرار بدیم؟
و چطور اون تصویر رو در یک تگ div که به صورت () background-image url
مقدار دهی شده بود نشون بدم؟
کد migration
public function up()
{
Schema::create('sliders', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('title');
$table->string('description');
$table->binary('img');
$table->string('btn');
$table->string('btn_link');
});
}
کد کنترلر
public function create(SliderRequest $request){ //TODO: validate from http/requests/SliderRequest
$validated_data=$request->validated();
Sliders::create([ // TODO: creating new slider
'title' => $validated_data['title'],
'description' => $validated_data['description'],
'img' => $validated_data['img'],
'btn' => $validated_data['btn'],
'btn_link' => $validated_data['btn_link']
]);
return back(); //TODO: redirect to back
}
کد کنترلر صفحه اصلی که مقادیر رو میفرستم
public function index()
{
$slider=Sliders::orderBy('id','desc')->get();
return view('/pages/home', compact('slider'));
}
کد صفحه اصلی که میخام اینجا نشون بدم
@php
$counter=0;
@endphp
@foreach($slider as $sliders)
@php
$class=$counter == 0 ? 'active': '';
@endphp
<div class="carousel-item <?= $class; ?>" style="background-image: url(''{{$sliders->img}})">
<div class="carousel-container">
<div class="container">
<h2 class="animate__animated animate__fadeInDown">{{ $sliders->title }}</h2>
<p class="animate__animated animate__fadeInUp">{{ $sliders->description }}</p>
<a href="{{ $sliders->btn_link }}" class="btn-get-started animate__animated animate__fadeInUp scrollto">{{ $sliders->btn }}</a>
</div>
</div>
</div>
@php
$counter++;
@endphp
@endforeach
الان تنها موردی که نشون نمیده عکسه
قسمتی که نمیدونم چطور نمایش بدم گیر کردم اینجاست
style="background-image: url('{{$sliders->img}}')"
@mrn
سلام
بهتره که نوع ستون تصاویر varchar باشه و آدرس تصاویر تو این ستون به صورت string ذخیره بشه
خود عکس رو تو دیتابیس ذخیره نکنید (خود عکس باید تو فضای هاست شما ذخیره بشه)
برای نمایش تصاویر هم میتونید آدرس عکس رو به تگ img یا به background-image بدید
یک روز گذشت تعداد پیام ها زیاد شد اینو بخاطر این میگم سوالم بالا بیاد دوستان ببینن
@ali.bayat
@Rp76
@hesammousavi
@mrn
سلام
بهتره که نوع ستون تصاویر varchar باشه و آدرس تصاویر تو این ستون به صورت string ذخیره بشه
خود عکس رو تو دیتابیس ذخیره نکنید (خود عکس باید تو فضای هاست شما ذخیره بشه)
برای نمایش تصاویر هم میتونید آدرس عکس رو به تگ img یا به background-image بدید
سلام بهتره ادرس عکس رو توی دیتابیس ذخیره کنی اون هم نسبی ولی من خودم فقط اسم عکس رو فقط ذخیره میکنم
مثلا :
upload/img/image.png
image.png
و به این صورت باید استفاده کنی
<img src="{{asset("upload/image/".$slider->img)}}" alt="{{$slider->title}}">
با اینکه میشه عکس رو تبدیل به کد کرد و بصورت رشته متنی داخل دیتابیس ذخیره کرد ولی اصلا روش مناسب و بهینه ای نیست و همون طوری که دوستان هم اشاره کردند، روش بهتر این هست که تصویرتون رو بصورت فایل داخل storage ذخیره کنید و صرفا نام فایل یا مسیر کاملش رو داخل یک فیلد از جنس varchar ذخیره کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟