Jump to content
Larry Ullman's Book Forums

sanfisa

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by sanfisa

  1. Hello,

     

    until now, I was using my js script within my view page for testing. Now, as suggested in the Yii Book, I'd like to use registeriing script.

     

    I use the command at the end of my view

     

    <?php

    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/js/comment.js', CClientScript::POS_END);

    ?>

     

    then, I got the syntax error Syntax Error: Unrecognized expression.

     

    Do you know where is my mistake ?

     

    Thank you in advance for your help

     

  2. Hello,

     

    I'm working in  Yii framework.  In my index action I created the dataprovider in the following way

        $connection=Yii::app()->db;
        $user_id = Yii::app()->user->id;
        $sql = 'SELECT * FROM post
          LEFT JOIN comment ON post.id = comment.post_id
          AND comment.user_id =:user_id
          LIMIT 0 , 30 ';
        $command=$connection->createCommand($sql);
        $command->bindParam(':user_id', $user_id,PDO::PARAM_STR);
       
        $rawData = $command->execute();
       
        $dataProvider=new CArrayDataProvider($rawData, array(
                'id'=>'user',
                'sort'=>array(
                   'defaultOrder' => 'post.created',
                   ),
                'pagination'=>array(
                   'pageSize'=>10,
                ),
             ));

    then I render the index view

     

        $this->render('index',array(
           'dataProvider'=>$dataProvider,
           'category_id'=>$category_id,
          ));

    Index view is doing

        <?php $this->widget('zii.widgets.CListView', array(
         'dataProvider'=>$dataProvider,
         'itemView'=>'_view',
        )); ?>

    which cause the error  

     

        Invalid argument supplied for foreach()
       
        C:\wamp\www\yii\framework\web\CArrayDataProvider.php(140)
       
             * @param array $directions the sorting directions (field name => whether it is descending sort)
              */

             136         foreach($directions as $name=>$descending)
        137         {
        138             $column=array();
        139             $fields_array=preg_split('/\.+/',$name,-1,PREG_SPLIT_NO_EMPTY);
        140             foreach($this->rawData as $index=>$data)
        141                 $column[$index]=$this->getSortingFieldValue($data, $fields_array);
        142             $args[]=&$column;
        143             $dummy[]=&$column;
        144             unset($column);
        145             $direction=$descending ? SORT_DESC : SORT_ASC;
        146             $args[]=&$direction;
        147             $dummy[]=&$direction;
        148             unset($direction);
        149         }

     

    When I use $rawData = $command->queryAll();  instead of       $rawData = $command->execute();

     

    I got the error

     

    Call to a member function getAttributeLabel() on a non-object in C:\wamp\www\contest\protected\views\contest\_view.php on line 8

     

    where the code is

     

    <b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>

     

     

     

    Can you help me?
    Thank you in advance

     

     

×
×
  • Create New...