Utanarak söylüyorum bunu yapıcam diye teraviye bile gitmedim 3-4 gündür uğraşıyorum ama beceremedim .
Bir adet resmi güncellemek istiyorum .
bu Edit.vue
<script setup>
import { ref } from 'vue';
import { Head, Link, router, useForm } from '@inertiajs/vue3';
import AdminLayout from '@/Layouts/AdminLayout.vue';
import InputError from '@/Components/InputError.vue';
import InputLabel from '@/Components/InputLabel.vue';
import PrimaryButton from '@/Components/PrimaryButton.vue';
import TextInput from '@/Components/TextInput.vue';
const props = defineProps({
brand: Object,
});
const form = useForm({
_method: 'PUT',
name: props.brand.name,
image: null,
});
const submit = () => {
form.post(route('brands.update', props.brand.id), {
onFinish: () => form.reset('password'),
});
};
</script>
devamında formumda bu
<form @submit.prevent="submit">
<div>
<InputLabel for="name" value="Name" />
<TextInput
id="name"
v-model="form.name"
type="text"
class="mt-1 block w-full"
autocomplete="name"
required
/>
<InputError class="mt-2" :message="form.errors.name" />
</div>
<div class="mt-8">
<div><img :src="'/storage/' + props.brand.image" width="100" class="mr-4"></div>
<InputLabel for="photo" value="Resim Yükle" />
<input
type="file"
name="image"
id="image"
class="w-full rounded-lg border-gray-200 p-4 pr-12 text-sm shadow-sm"
@input="form.image = $event.target.files[0]"
>
</div>
<div class="flex items-center mt-4">
<PrimaryButton type="submit" class="ml-4" :class="{ 'opacity-25': form.processing }" :disabled="form.processing">
Güncelle
</PrimaryButton>
</div>
</form>
yukarıyı bunda karşılamak istriyorum
public function update(Request $request, Brand $brand)
{
dd($request->all());
resim alanını boş gönderdiğimde
resim alanına resim secip gönderdiğimde
yoluma bu alttakiyle devam etmek istiyorum
if ($request->hasFile('image')) {
#code
}
ancak şöyle bi hatam var