for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Author: Nil Portugués Calderó <[email protected]>
* Date: 6/11/14
* Time: 1:50 AM.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace NilPortugues\Sql\QueryBuilder\Builder\Syntax;
use NilPortugues\Sql\QueryBuilder\Builder\GenericBuilder;
use NilPortugues\Sql\QueryBuilder\Manipulation\Delete;
* Class DeleteWriter.
class DeleteWriter
{
* @var GenericBuilder
private $writer;
* @var PlaceholderWriter
private $placeholderWriter;
* @param GenericBuilder $writer
* @param PlaceholderWriter $placeholder
public function __construct(GenericBuilder $writer, PlaceholderWriter $placeholder)
$this->writer = $writer;
$this->placeholderWriter = $placeholder;
}
* @param Delete $delete
* @return string
public function write(Delete $delete)
$table = $this->writer->writeTable($delete->getTable());
$parts = array("DELETE FROM {$table}");
AbstractBaseWriter::writeWhereCondition($delete, $this->writer, $this->placeholderWriter, $parts);
AbstractBaseWriter::writeLimitCondition($delete, $this->placeholderWriter, $parts);
$comment = AbstractBaseWriter::writeQueryComment($delete);
return $comment.implode(' ', $parts);