* @author Dennis Eichhorn * @copyright 2013 Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 * @link http://orange-management.com */ namespace Modules\Media\Models; use phpOMS\DataStorage\Database\Query\Builder; use phpOMS\DataStorage\Database\Query\Column; class CollectionMapper extends MediaMapper { protected static $hasMany = [ 'source' => [ 'mapper' => null, 'table' => 'media_relation', 'dst' => 'media_relation_dst', 'src' => 'media_relation_src' ] ]; /** * Primary table. * * @var \string * @since 1.0.0 */ protected static $table = 'media'; protected static $createdAt = 'media_created_at'; /** * Primary field name. * * @var \string * @since 1.0.0 */ protected static $primaryField = 'media_id'; /** * Find. * * @param array $columns Columns to select * * @return Builder * * @since 1.0.0 * @author Dennis Eichhorn */ public function find(...$columns) : Builder { return parent::find(...$columns)->from('account_permission') ->where('account_permission.account_permission_for', '=', 'news') ->where('account_permission.account_permission_id1', '=', 1) ->where('news.news_id', '=', new Column('account_permission.account_permission_id2')) ->where('account_permission.account_permission_r', '=', 1); } }