新增query类

This commit is contained in:
wuyanwen 2020-01-13 16:22:16 +08:00
parent 152cd8738a
commit 9e2c84dd54

View File

@ -0,0 +1,52 @@
<?php
namespace catcher;
use think\db\Query;
class CatchQuery extends Query
{
/**
*
* @time 2020年01月13日
* @param string $model
* @param string $joinField
* @param string $currentJoinField
* @param string $type
* @param array $bind
* @return CatchQuery
*/
public function catchJoin(string $model, string $joinField, string $currentJoinField, string $type = 'INNER', array $bind = [])
{
$table = app($model)->getTable();
return $this->join($table, sprintf('%s.%s=%s.%s', $table, $joinField, $this->getTable(), $currentJoinField), $type, $bind);
}
/**
*
* @time 2020年01月13日
* @param string $model
* @param string $joinField
* @param string $currentJoinField
* @param array $bind
* @return CatchQuery
*/
public function catchLeftJoin(string $model, string $joinField, string $currentJoinField, array $bind = [])
{
return $this->catchJoin($model, $joinField, $currentJoinField, 'LEFT', $bind);
}
/**
*
* @time 2020年01月13日
* @param string $model
* @param string $joinField
* @param string $currentJoinField
* @param array $bind
* @return CatchQuery
*/
public function catchRightJoin(string $model, string $joinField, string $currentJoinField, array $bind = [])
{
return $this->catchJoin($model, $joinField, $currentJoinField, 'RIGHT', $bind);
}
}