Почему при сравнении 2 пользователей в политиках мне выдает одно, а при сравнении в контроллере другое?

|
trin4ik 2022-07-01 11:31:13
harly_88888 2022-07-01 11:24:29
Почему при сравнении 2 пользователей в политиках мне выдает одно, а при сравнении в контроллере другое? При чем политики возвращают не правильный результат.
Код контроллера:
public function edit(User $user)
{
if (auth()->user()->cannot(‘editProfile’, [auth()->user(), $user])){
return redirect()->route(‘profile’)->withErrors([
‘error’ => ‘Доступ запрещен’
]);
}

return view(‘crud.user.edit’, compact(‘user’));
}
Код политики:
public function editProfile(User $authUser, User $user)
{
return $authUser->is($user);
}

[auth()->user(), $user] поменяй просто на $user

harly_88888 2022-07-01 11:32:10
Извиняюсь за свою тупость
s_chizhik 2022-07-01 11:40:38
harly_88888 2022-07-01 11:32:10
Извиняюсь за свою тупость

Шоб все как ты так извинялись…

harly_88888 2022-07-01 11:41:04
Ахах^^
trin4ik 2022-07-01 11:48:45
s_chizhik 2022-07-01 11:40:38
Шоб все как ты так извинялись…

да да, заметил в последнее время диалоги тут вроде: «не нравится мне твой ответ, иди на*уй» ))) забавно

ohangarma 2022-07-01 11:57:00
K0r5hun 2022-06-30 12:27:38
Привет. \Artisan::call(команда)

аказывается у самого schedule ест такой метод work который после запуска которого он проверят каждую минуту и если что то в это время нужно запустит то запускается

puspenskiy 2022-07-01 11:59:04
ohangarma 2022-07-01 11:57:00
аказывается у самого schedule ест такой метод work который после запуска которого он проверят каждую минуту и если что то в это время нужно запустит то запускается

это больше dev режим. На бою лучше cron настроить

devphp9 2022-07-01 12:00:07
ohangarma 2022-07-01 11:57:00
аказывается у самого schedule ест такой метод work который после запуска которого он проверят каждую минуту и если что то в это время нужно запустит то запускается

асинхронно ?

ohangarma 2022-07-01 12:05:36
puspenskiy 2022-07-01 11:59:04
это больше dev режим. На бою лучше cron настроить

да для дева то тога как настроить cron хотел у себя протестировать

ohangarma 2022-07-01 12:07:26
devphp9 2022-07-01 12:00:07
асинхронно ?

сам проект синхронный но тут запускаю асинхронно

devphp9 2022-07-01 12:12:10
ohangarma 2022-07-01 12:07:26
сам проект синхронный но тут запускаю асинхронно

команды планировщик как запускает. если будет команда внутри которой sleep, что будет

puspenskiy 2022-07-01 12:27:06
devphp9 2022-07-01 12:12:10
команды планировщик как запускает. если будет команда внутри которой sleep, что будет

он тупо повторяет запуст schedule:run но только с повторамми раз в минута запуск. Поэтому если был comand в backgroud то и будет в bakground

ohangarma 2022-07-01 12:27:15
devphp9 2022-07-01 12:12:10
команды планировщик как запускает. если будет команда внутри которой sleep, что будет

будет ждать так как я другие методы запускаю методом after()

ohangarma 2022-07-01 12:29:18
devphp9 2022-07-01 12:12:10
команды планировщик как запускает. если будет команда внутри которой sleep, что будет

$schedule->command(‘stock:import’)->everyTenMinutes()->after(function (){
$this->call(‘stock:update’);
});

puspenskiy 2022-07-01 12:33:17
ohangarma 2022-07-01 12:29:18
$schedule->command(‘stock:import’)->everyTenMinutes()->after(function (){
$this->call(‘stock:update’);
});

runInBackground не отрабоатет разве? ему вроде пофиг

trin4ik 2022-07-01 12:43:47
puspenskiy 2022-07-01 12:33:17
runInBackground не отрабоатет разве? ему вроде пофиг

вряд ли schedule:work создаёт инстанцы процесса. скорее это один процесс. и если один из ворков будет выполняться минуту, то другие ворки будут ждать, ибо процесс занят

puspenskiy 2022-07-01 12:48:25
trin4ik 2022-07-01 12:43:47
вряд ли schedule:work создаёт инстанцы процесса. скорее это один процесс. и если один из ворков будет выполняться минуту, то другие ворки будут ждать, ибо процесс занят

он не создает он запускает раз в минуту schedule:run а тот уже запускает дочерние команды

trin4ik 2022-07-01 12:49:07
puspenskiy 2022-07-01 12:48:25
он не создает он запускает раз в минуту schedule:run а тот уже запускает дочерние команды

если так, то проблем с ним условно не возникнет

puspenskiy 2022-07-01 12:50:33
trin4ik 2022-07-01 12:49:07
если так, то проблем с ним условно не возникнет

щас проверил на серваке. backgroud работает

Adelf32 2022-07-01 12:57:09
Позволю себе в пятницу небольшой более казуальный совет. Очень помогают в некоторых ситуациях мульти-курсоры. А делаются очень просто. Кликнуть Option(Alt). Потом еще разок, но уже зажав клавишу, стрелкой вверх или вниз плодим курсоры.

Каждый курсор весьма самостоятельный: у каждого свой буфер для копипаста и это позволяет даже сложные вещи делать. Весьма регулярно пользуюсь.

s_chizhik 2022-07-01 13:02:54
Шёл уже который год подряд, а люди продолжали пиарить no-code
barantarakan 2022-07-01 13:04:05
😵😵 всем пиздец, как теперь жить ?
s_chizhik 2022-07-01 13:04:37
Так себе статья, получается
Adelf32 2022-07-01 13:07:55
s_chizhik 2022-07-01 13:04:37
Так себе статья, получается

он по чатам бегал, пиарил ее вовсю

Adelf32 2022-07-01 13:08:01
я на всякий случай забанил
Adelf32 2022-07-01 13:08:10
ибо ничего более он в этом чатике не писал. наверно бот
arxnday 2022-07-01 13:11:07
s_chizhik 2022-07-01 13:02:54
Шёл уже который год подряд, а люди продолжали пиарить no-code

несколько раз видел рекламу у кого-то из блогеров
в чем суть вообще?
типа элементора но более обширнее?

harly_88888 2022-07-01 13:11:15
Нет я рили тупой
Код контроллера:
if (auth()->user()->cannot(‘isAdmin’)){
return redirect()->route(‘profile’)->withErrors([
‘error’ => ‘Доступ запрещен’
]);
}
Код политики:
public function isAdmin(User $user)
{
return $user->role_id === 1;
}
И опять та же проблема политика говорит false, контроллер говорит true
soul_abduction_ceremony 2022-07-01 13:11:40
arxnday 2022-07-01 13:11:07
несколько раз видел рекламу у кого-то из блогеров
в чем суть вообще?
типа элементора но более обширнее?

что ты через интерфейс тыкаешь кнопки и создаешь сайты, а оно под капотом генерит код

kafkianskiy 2022-07-01 13:12:00
harly_88888 2022-07-01 13:11:15
Нет я рили тупой
Код контроллера:
if (auth()->user()->cannot(‘isAdmin’)){
return redirect()->route(‘profile’)->withErrors([
‘error’ => ‘Доступ запрещен’
]);
}
Код политики:
public function isAdmin(User $user)
{
return $user->role_id === 1;
}
И опять та же проблема политика говорит false, контроллер говорит true

У тупых вроде другой чат.

arxnday 2022-07-01 13:12:06
soul_abduction_ceremony 2022-07-01 13:11:40
что ты через интерфейс тыкаешь кнопки и создаешь сайты, а оно под капотом генерит код

а, ну собственно элементор вид сбоку

harly_88888 2022-07-01 13:12:15
kafkianskiy 2022-07-01 13:12:00
У тупых вроде другой чат.

Ссылку?

kafkianskiy 2022-07-01 13:12:33
harly_88888 2022-07-01 13:12:15
Ссылку?

https://t.me/laravel_web

arxnday 2022-07-01 13:12:45
фу противно даже вспоминать этот кал, один раз взял такое в gtmetrix с psi апнуть рейты, плевался дальше чем видел
soul_abduction_ceremony 2022-07-01 13:12:46
kafkianskiy 2022-07-01 13:12:33
https://t.me/laravel_web

ахаххахахахах

arxnday 2022-07-01 13:14:43
harly_88888 2022-07-01 13:11:15
Нет я рили тупой
Код контроллера:
if (auth()->user()->cannot(‘isAdmin’)){
return redirect()->route(‘profile’)->withErrors([
‘error’ => ‘Доступ запрещен’
]);
}
Код политики:
public function isAdmin(User $user)
{
return $user->role_id === 1;
}
И опять та же проблема политика говорит false, контроллер говорит true

распиши себе на листочке в блокноте поочередность действий, составь блок-схему и сравни с кодом насколько он отвечает блок-схеме

kafkianskiy 2022-07-01 13:15:26
arxnday 2022-07-01 13:14:43
распиши себе на листочке в блокноте поочередность действий, составь блок-схему и сравни с кодом насколько он отвечает блок-схеме

Ты хоть сам этот бред практикуешь?

harly_88888 2022-07-01 13:15:31
arxnday 2022-07-01 13:14:43
распиши себе на листочке в блокноте поочередность действий, составь блок-схему и сравни с кодом насколько он отвечает блок-схеме

Сейчас в draw.io сделаю

arxnday 2022-07-01 13:15:55
kafkianskiy 2022-07-01 13:15:26
Ты хоть сам этот бред практикуешь?

а у тебя есть варианты получше как научить человека понимать собственный код?)

kafkianskiy 2022-07-01 13:16:36
arxnday 2022-07-01 13:15:55
а у тебя есть варианты получше как научить человека понимать собственный код?)

Если человек не понимает собственный код, то пусть занимается no code. Вон выше ссылку давали.

arxnday 2022-07-01 13:16:56
kafkianskiy 2022-07-01 13:16:36
Если человек не понимает собственный код, то пусть занимается no code. Вон выше ссылку давали.

не, там уже в бане ссылка

soul_abduction_ceremony 2022-07-01 13:17:01
harly_88888 2022-07-01 13:11:15
Нет я рили тупой
Код контроллера:
if (auth()->user()->cannot(‘isAdmin’)){
return redirect()->route(‘profile’)->withErrors([
‘error’ => ‘Доступ запрещен’
]);
}
Код политики:
public function isAdmin(User $user)
{
return $user->role_id === 1;
}
И опять та же проблема политика говорит false, контроллер говорит true

попробуй через middleware сделать, мне кажется так будет поприятнее чем в контроллере

harly_88888 2022-07-01 13:17:09
Я понимаю свой код… Просто я не могу понять почему мне контроллер нормальное значение выдает, а если я на политику ссылаюсь, то она выводит не то что ожидается, я понимаю, что проблема во мне, но это же не мешает мне спросить…
soul_abduction_ceremony 2022-07-01 13:17:41
soul_abduction_ceremony 2022-07-01 13:17:01
попробуй через middleware сделать, мне кажется так будет поприятнее чем в контроллере

и плюс к тому может получится избежать этой проблемы

kafkianskiy 2022-07-01 13:17:44
harly_88888 2022-07-01 13:17:09
Я понимаю свой код… Просто я не могу понять почему мне контроллер нормальное значение выдает, а если я на политику ссылаюсь, то она выводит не то что ожидается, я понимаю, что проблема во мне, но это же не мешает мне спросить…

Проблема не в тебе, а в вопросе. Мало данных. Проблема может быть даже не в этом участке кода.

kafkianskiy 2022-07-01 13:18:09
Или в этом, но мы не видим, какие на самом деле данные к тебе приходят.
harly_88888 2022-07-01 13:18:34
Ну в AuthServiceProvider я прописал взаимодействие политики и модели
DenisLinnik 2022-07-01 13:19:22
laravel_pro-578761.jpg
Подскажите пожалуйста если есть внешние ключи нужно ли на них вешать индексы? Есть в этом толк?
VVBphp 2022-07-01 13:22:26
DenisLinnik 2022-07-01 13:19:22
Подскажите пожалуйста если есть внешние ключи нужно ли на них вешать индексы? Есть в этом толк?

При создании таблицы индекс на внешние ключи добавляется автоматически.

DenisLinnik 2022-07-01 13:22:48
Понял спасибо большое
|