FOF30\Model\DataModel\Behaviour\Access::onAfterBuildQuery PHP Метод

onAfterBuildQuery() публичный Метод

This event runs after we have built the query used to fetch a record list in a model. It is used to apply automatic query filters.
public onAfterBuildQuery ( &$model, &$query ) : void
Результат void
    public function onAfterBuildQuery(&$model, &$query)
    {
        // Make sure the field actually exists
        if (!$model->hasField('access')) {
            return;
        }
        $model->applyAccessFiltering(null);
    }

Usage Example

Пример #1
0
 /**
  * @group           Behaviour
  * @group           AccessOnAfterBuildQuery
  * @covers          FOF30\Model\DataModel\Behaviour\Access::onAfterBuildQuery
  * @dataProvider    AccessDataprovider::getTestOnAfterBuildQuery
  */
 public function testOnAfterBuildQuery($test, $check)
 {
     $config = array('idFieldName' => $test['tableid'], 'tableName' => $test['table']);
     $model = $this->getMock('\\FOF30\\Tests\\Stubs\\Model\\DataModelStub', array('applyAccessFiltering'), array(static::$container, $config));
     $model->expects($check['access'] ? $this->once() : $this->never())->method('applyAccessFiltering');
     $query = \JFactory::getDbo()->getQuery(true)->select('*')->from('test');
     $dispatcher = $model->getBehavioursDispatcher();
     $filter = new Access($dispatcher);
     $filter->onAfterBuildQuery($model, $query);
 }