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

changed
Title
AAn important tip when you are using
CArrayDataProvider.
unchanged
Category
Tips
unchanged
Tags
CArrayDataProvider
unchanged
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