Add the update method to the episodes.
This commit is contained in:
parent
a3035c8900
commit
7f322080c9
@ -16,6 +16,9 @@ class EpisodeRepository implements EpisodeRepositoryInterface
|
|||||||
private DatabaseHandlerInterface $db
|
private DatabaseHandlerInterface $db
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param array The query results from the database
|
||||||
|
*/
|
||||||
protected function getEpisodeFromResults(array $results): Episode
|
protected function getEpisodeFromResults(array $results): Episode
|
||||||
{
|
{
|
||||||
$results['createdAt'] = new DateTimeImmutable($results['created_at']);
|
$results['createdAt'] = new DateTimeImmutable($results['created_at']);
|
||||||
@ -54,8 +57,8 @@ class EpisodeRepository implements EpisodeRepositoryInterface
|
|||||||
public function create(Episode $episode): Episode
|
public function create(Episode $episode): Episode
|
||||||
{
|
{
|
||||||
$query = "INSERT INTO episodes (
|
$query = "INSERT INTO episodes (
|
||||||
title, link, length, description, serialNumber,
|
title, link, length, description, serial_number,
|
||||||
explicit, publishedDate, episodeType
|
explicit, published_date, episode_type
|
||||||
) VALUE (
|
) VALUE (
|
||||||
:title, :link, :length, :description, :serialNumber,
|
:title, :link, :length, :description, :serialNumber,
|
||||||
:explicit, :publishedDate, :episodeType
|
:explicit, :publishedDate, :episodeType
|
||||||
@ -76,6 +79,33 @@ class EpisodeRepository implements EpisodeRepositoryInterface
|
|||||||
return $episode;
|
return $episode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function update(Episode $episode): bool
|
||||||
|
{
|
||||||
|
$query = "UPDATE episodes
|
||||||
|
SET title = :title,
|
||||||
|
link = :link,
|
||||||
|
length = :length,
|
||||||
|
description = :description,
|
||||||
|
serial_number = :serialNumber,
|
||||||
|
explicit = :explicit,
|
||||||
|
published_date = :publishedDate,
|
||||||
|
episode_type = :episodeType
|
||||||
|
WHERE id = :id";
|
||||||
|
|
||||||
|
$result = $this->db->execute($query, [
|
||||||
|
':title' => $episode->getTitle(),
|
||||||
|
':link' => $episode->getLink(),
|
||||||
|
':length' => $episode->getLength(),
|
||||||
|
':description' => $episode->getDescription(),
|
||||||
|
':serialNumber' => $episode->getSerialNumber(),
|
||||||
|
':explicit' => $episode->isExplicit(),
|
||||||
|
':publishedDate' => $episode->getPublishedDate(),
|
||||||
|
':episode_type' => $episode->getEpisodeType(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @TODO Implement a plan for deleting
|
* @TODO Implement a plan for deleting
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user