Если мы делаем scopeBindings, обязательно нужно прописывать все модели - родителя и дочернюю?
Какой пуль является best practices для Laravel+Vue?
И да, я использую 'sync' (для тестирования) - может поэтому Auth::user() доступен?
Вообще, может посоветует кто:
- Я использую для хранения и передачи некоторых данных - сессии.
Но внутри Job - Request, а, значит, и сессии - недоступны.
Переписывать логику без сессий - неохота :D
Или по любому придется, если я хочу использовать Jobs?
<?php
$CURRENT_USER_ID = \Auth::user()->id;
$posts = Post::with([
'bookmark_users' => function($q) use($CURRENT_USER_ID) {
$q->where('id', $CURRENT_USER_ID);
}
])
->get();
foreach ($posts as $item) {
if($item->bookmark_users->count() > 0) {
// Удалить
}else{
// Добавить
}
}
// types - это отношение один ко многим
$rs = Example::whereHas('types', function($q) {
$q->where('name', 'пример');
})->get();
<?php
$rsUser = Model::where('user_id', ID_ЮЗЕРА)->first();
if($rsUser) {
DB::statement(DB::raw('set @row := 0'));
$rsFirst2Before = Model::where('score', '<=', $rsUser->score)->orderBy('score', 'DESC')->select(['*', DB::raw('@row := @row + 1 as `row`')])->limit(11);
$rsAfter = Model::where('score', '>=', $rsUser->score)->where('user_id', '<>', $rsUser->user_id)->orderBy('score', 'ASC')->select(['*', DB::raw('@row : = @row + 1 as `row`')])->limit(10);
$rs = $rsFirst2Before->union($rsAfter)->get();
// dump($rs);
}
?>
$rs = Model::with('parent')->какие-то_условия->whereNotNull('parent_id')->get();
foreach($rs as $item) {
$rsParents = $item->parent; // parent - это связь "к себе самой"
if($rsParents->count() > 0) {
$i = 0;
foreach($rsParents as $p_item) {
$i++;
// $item->id.'-Д-'.$i; // Папы с дочками
}
}else{
// $item->id // Холостяк
}
}
public function update(Request $request,$id){
$user = Crud::find($id);
if($user) {
$user->name = $request->input('name');
$user->email = $request->input('email');
$user->save();
}
return redirect('/')->with('update', 'Вы успешно Изменили Данные');
}
public function update(Request $request,$id){
$update = Crud::where('id', $id)->update([
'name' => $request->input('name'),
'email' => $request->input('email')
]);
return redirect('/')->with('update', 'Вы успешно Изменили Данные');
}
SELECT `adverts`.*,
((SELECT COUNT(`likes`.`id`) FROM `likes` WHERE `likes`.`advert_id` = `adverts`.`id` AND `dislike` = 0) - (SELECT COUNT(`likes`.`id`) FROM `likes` WHERE `likes`.`advert_id` = `adverts`.`id` AND `dislike` = 1)) AS `ALL_LIKES`
FROM `adverts`
ORDER BY `ALL_LIKES` DESC
$rs = Advert:selectRaw('`adverts`.*, ((SELECT COUNT(`likes`.`id`) FROM `likes` WHERE `likes`.`advert_id` = `adverts`.`id` AND `dislike` = 0) - (SELECT COUNT(`likes`.`id`) FROM `likes` WHERE `likes`.`advert_id` = `adverts`.`id` AND `dislike` = 1)) AS `ALL_LIKES`')->orderBy('ALL_LIKES', 'DESC')->get();