Fixing language request

This commit is contained in:
Dennis Eichhorn 2017-03-06 20:11:23 +01:00
parent c8f12e33cf
commit 5c1fe7d40f

View File

@ -1492,15 +1492,16 @@ class DataMapperAbstract implements DataMapperInterface
* Get object. * Get object.
* *
* @param int $relations Load relations * @param int $relations Load relations
* @param string $lang Language
* *
* @return array * @return array
* *
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
public static function getAll(int $relations = RelationType::ALL) public static function getAll(int $relations = RelationType::ALL, string $lang = '')
{ {
$obj = self::populateIterable(self::getAllRaw()); $obj = self::populateIterable(self::getAllRaw($lang));
self::fillRelations($obj, $relations); self::fillRelations($obj, $relations);
self::clear(); self::clear();
@ -1533,13 +1534,14 @@ class DataMapperAbstract implements DataMapperInterface
* @param int $limit Newest limit * @param int $limit Newest limit
* @param Builder $query Pre-defined query * @param Builder $query Pre-defined query
* @param int $relations Load relations * @param int $relations Load relations
* @param string $lang Language
* *
* @return mixed * @return mixed
* *
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
public static function getNewest(int $limit = 1, Builder $query = null, int $relations = RelationType::ALL) public static function getNewest(int $limit = 1, Builder $query = null, int $relations = RelationType::ALL, string $lang = '')
{ {
self::extend(__CLASS__); self::extend(__CLASS__);
@ -1553,6 +1555,10 @@ class DataMapperAbstract implements DataMapperInterface
$query->orderBy(static::$table . '.' . static::$columns[static::$primaryField]['name'], 'DESC'); $query->orderBy(static::$table . '.' . static::$columns[static::$primaryField]['name'], 'DESC');
} }
if (!empty(self::$language_field) && !empty($lang)) {
$query->where(static::$table . '.' . static::$language_field, '=', $lang, 'AND');
}
$sth = self::$db->con->prepare($query->toSql()); $sth = self::$db->con->prepare($query->toSql());
$sth->execute(); $sth->execute();
@ -1686,14 +1692,21 @@ class DataMapperAbstract implements DataMapperInterface
/** /**
* Get all in raw output. * Get all in raw output.
* *
* @param string $lang Language
*
* @return array * @return array
* *
* @since 1.0.0 * @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com> * @author Dennis Eichhorn <d.eichhorn@oms.com>
*/ */
public static function getAllRaw() : array public static function getAllRaw(string $lang = '') : array
{ {
$query = self::getQuery(); $query = self::getQuery();
if (!empty(self::$language_field) && !empty($lang)) {
$query->where(static::$table . '.' . static::$language_field, '=', $lang, 'AND');
}
$sth = self::$db->con->prepare($query->toSql()); $sth = self::$db->con->prepare($query->toSql());
$sth->execute(); $sth->execute();