Как создать запрос с настраиваемыми атрибутами в Laravel Eloquent?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как создать запрос с настраиваемыми атрибутами в Laravel Eloquent?

Сообщение Anonymous »

У меня есть модель «Студент», а в базе данных — номер социального страхования, на основе которого я вычисляю настраиваемый атрибут, чтобы получить возраст учащегося. Как я могу использовать его в запросах Eloquent?
У меня есть этот пользовательский атрибут в модели:

Код: Выделить всё

public function getAgeAttribute(): int
{
if (!$this->deleted) {
$date = substr($this->social_security, 0, 6);

switch (substr($this->social_security, 6, 1)) {
case '-':
$yy = '19';
break;
case 'A':
$yy = '20';
break;
case '+':
$yy = '18';
break;
default:
return 0;
}

$birthday = new \DateTime($yy . substr($date, 4, 2) . '-' . substr($date, 2, 2) . '-' . substr($date, 0, 2));
$today = new \DateTime('today');

return $birthday->diff($today)->y;
}

return 0;
}
Я пытаюсь получить количество учащихся определенного возраста в контроллере следующим образом:

Код: Выделить всё

$count = Student::where('deleted', 0)
->whereHas('studentSeasons', function($query) {
$query->whereHas('season', function($query) {
$query->where('start', '=', now());
});
})
->get()
->append('age')
->where('age', '>=', $request->input('start'))
->where('age', '

Подробнее здесь: [url]https://stackoverflow.com/questions/79141426/how-to-create-a-query-with-custom-attributes-in-laravel-eloquent[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»