Size: a a a

Laravel для начинающих

2021 February 25

SG

Sergey Gerasimov in Laravel для начинающих
Lugovskoy Dmitriy
Странно. Тогда вообще ошибка идет на другое поле в таблице - Field 'name' doesn't have a default value
В валидации 'name' => 'required',
Почему у тебя зануляется name?
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
буду разбираться. пока не пойму, мутаторы не использую здесь
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
очень странно, перед самым save или update я ведь все поля вижу прекрасно
источник

DS

Dima S in Laravel для начинающих
Lugovskoy Dmitriy
очень странно, перед самым save или update я ведь все поля вижу прекрасно
Без кода не понять
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Dima S
Без кода не понять
public function update(Request $request, Slider $slide)
   {
       $request->validate([
           'name' => 'required',
           'image' => 'sometimes|required|image|max:100000',
           'weight' => ['integer'],
           'show' => ['boolean']
       ]);

       $data = $request->all();
       if(!request()->has('show')){
           $data['active'] = 0;
       }

       if ($file = Slider::uploadImage($request, $slide->image)) {
           $data['image'] = $file;
           $slide->image = $data['image'];

       }

       $slide->save($data);
       //$slide->update($data);
       return redirect()->route('sliders.index')->with('success', 'Слайд изменен');
   }

Ну и в модели
public static function uploadImage(Request $request, $image = null){
       if($request->hasFile('image')){
           if ($image) {
               Storage::delete($image);
           }
           return $request->file('image')->store('slider');
       }
       return null;
   }
источник

Д

Діма in Laravel для начинающих
@s_chizhik Я опять со своим вопросом))  Куки так и не решил хотя целый вечер курил sameSite.
Может ты подскажешь.

Как я понял то мне нужно значение sameSite:lax поменять на значение sameSite:none

И именно значение куков в запросе а не в ответе от сервера.
В интернете нашел только как менять на backend ( у лары меняется в config/session.php в последней строке.
Если выставляю sameSite:none то у меня значение меняется в ответе, а не в запросе.
Как я понял в запросе нужно поменять как-то от стороны фронта.
В axios. И вообще не пойму как это сделать.

Уже сравнивал на одном сайте где прикручен paypal как они работаеют.
И действительно, у них через скрипт посылается запрос с сайта клиента к ним на сервер с атрибутом samesite:none
а как в axios это поменять не пойму.
Вот смотри фото.
источник

DS

Dima S in Laravel для начинающих
С какой целью ты в save передаёшь $data ? Так вроде бы отношения сохраняют
источник

DS

Dima S in Laravel для начинающих
Lugovskoy Dmitriy
public function update(Request $request, Slider $slide)
   {
       $request->validate([
           'name' => 'required',
           'image' => 'sometimes|required|image|max:100000',
           'weight' => ['integer'],
           'show' => ['boolean']
       ]);

       $data = $request->all();
       if(!request()->has('show')){
           $data['active'] = 0;
       }

       if ($file = Slider::uploadImage($request, $slide->image)) {
           $data['image'] = $file;
           $slide->image = $data['image'];

       }

       $slide->save($data);
       //$slide->update($data);
       return redirect()->route('sliders.index')->with('success', 'Слайд изменен');
   }

Ну и в модели
public static function uploadImage(Request $request, $image = null){
       if($request->hasFile('image')){
           if ($image) {
               Storage::delete($image);
           }
           return $request->file('image')->store('slider');
       }
       return null;
   }
1
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Dima S
Без кода не понять
Что такое "1" ?
источник

DS

Dima S in Laravel для начинающих
Lugovskoy Dmitriy
Что такое "1" ?
С какой целью ты в save передаёшь $data ? Так вроде бы отношения сохраняют
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Dima S
С какой целью ты в save передаёшь $data ? Так вроде бы отношения сохраняют
Я всегда привык обновлять через $slide->update($data);
Думал и в save также передаешь все значения для записи в базу
источник

SC

Sergey Chizhik in Laravel для начинающих
Діма
@s_chizhik Я опять со своим вопросом))  Куки так и не решил хотя целый вечер курил sameSite.
Может ты подскажешь.

Как я понял то мне нужно значение sameSite:lax поменять на значение sameSite:none

И именно значение куков в запросе а не в ответе от сервера.
В интернете нашел только как менять на backend ( у лары меняется в config/session.php в последней строке.
Если выставляю sameSite:none то у меня значение меняется в ответе, а не в запросе.
Как я понял в запросе нужно поменять как-то от стороны фронта.
В axios. И вообще не пойму как это сделать.

Уже сравнивал на одном сайте где прикручен paypal как они работаеют.
И действительно, у них через скрипт посылается запрос с сайта клиента к ним на сервер с атрибутом samesite:none
а как в axios это поменять не пойму.
Вот смотри фото.
Судя по ответу и по логике, бек устанавливает правила для своей Cookie, а клиент их повторяет. Пробовал на беке менять?
источник

DS

Dima S in Laravel для начинающих
Lugovskoy Dmitriy
Я всегда привык обновлять через $slide->update($data);
Думал и в save также передаешь все значения для записи в базу
Slide ты получаешь через route model binding ?
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Dima S
Slide ты получаешь через route model binding ?
Ну в роутах как ресурс передаю
Route::resource('/sliders', 'SlidersController');
источник

r

rocknrolla in Laravel для начинающих
Парни, передал массив в вид через compact, в blade прохожу foreach и пытаюсь обратиться к элементу массива, получаю ошибку
Trying to get property 'name' of non-object
что я делаю не так?
источник

SS

Serg Serdyuk in Laravel для начинающих
rocknrolla
Парни, передал массив в вид через compact, в blade прохожу foreach и пытаюсь обратиться к элементу массива, получаю ошибку
Trying to get property 'name' of non-object
что я делаю не так?
где то в массиве нулл или еще какой то необъект
источник

r

rocknrolla in Laravel для начинающих
ааа
источник

А

Андрей in Laravel для начинающих
rocknrolla
Парни, передал массив в вид через compact, в blade прохожу foreach и пытаюсь обратиться к элементу массива, получаю ошибку
Trying to get property 'name' of non-object
что я делаю не так?
Ты обращаешься к name через $arr->name?
источник

r

rocknrolla in Laravel для начинающих
там двумерный массив
источник

r

rocknrolla in Laravel для начинающих
Андрей
Ты обращаешься к name через $arr->name?
да
источник