Difference between #2 and #3 of An important tip when you are using CArrayDataProvider.

unchanged
Title
An important tip when you are using CArrayDataProvider.
unchanged
Category
Tips
unchanged
Tags
CArrayDataProvider
changed
Content
   Yii ‘s CArrayDataProvider is very helpful to display model relation data's
directly on it.But it is truely a confusing one because by default it will
assume a table field named “id” as primary key for its pagination purpose
and what if you dont have field named “id” as primary key on your table? so
its truely confusing and if you tried to display without an “id” field on ur
table you will get an error like “yourmodel.id is not defined”.

To solve this CArrayDataProvider confusing problem you just need to use on of
its attribute named “keyField” to specify your primary key field on your
table.There is an property named “id” thats just an id of the dataProvider
itself.

i have 2 models ie deal and buyer(MANY_MANY).

so $deal->buyers is the relation i used to display my deal buyers.i used a
field named “facebook_id” as primary key in model “buyer” .see my code.



~~~
[php]
 $dp = new CArrayDataProvider($deal->buyers, array(
   'keyField' => 'facebook_id',         // PRIMARY KEY
   'id' => 'buyers_list'                    // ID of the data provider itself
));
~~~

Regards,
sirin k

[Yii developer](http://www.nintriva.com "Yii developer")