Здравствуйте.
Есть абстрактный класс код которого:
...
public static function updateViews(): array{
$db = Db::getInstance();
return $db->query('UPDATE `' . static::getTableName() . '` SET `views` = `views` +1', [], static::class);
}
public static function getByUrl(string $url): ?self{
$db = Db::getInstance();
$entities = $db->query(
'SELECT * FROM `' . static::getTableName() . '` WHERE url=:url' ,
[':url' => $url],
static::class
);
return $entities ? $entities[0] : null;
}
...
Т.е. вот 2 функции, первая должна увеличивать просмотры на единицу, а другая получает url.
Контроллер
...
public function view(string $articleUrl){
$article = Article::getByUrl($articleUrl);
$updateViews = Article::updateViews();
...
И я не понимаю, как мне сделать WHERE для функции updateViews динамическим.
Т.е. я для теста сделал
return $db->query('UPDATE `' . static::getTableName() . '` SET `views` = `views` +1 WHERE id = 1', [], static::class);
Все работает, но как мне динамически подставить сюда url, который мы получаем в функции getByUrl?
Подскажите пожалуйста.