Codeigniter Grocery Crud extend set_relation() function?

noviceRick picture noviceRick · Sep 12, 2011 · Viewed 10.2k times · Source

Is there anyone knows how to extend the set_relation() ?

Here is the idea, base on the example of Grocery Crud employee and offices tablesample table

$crud->set_relation('officeCode','offices','city');

the code output will show all city in dropdown, but I want to extent the set_relation() to filter all city by state to show in dropdown?

for example I want to show all city of Arizona state in dropdown, Does anyone done this before using grocery crud?

reference example:

Grocery Crud

Answer

Kenilik picture Kenilik · Dec 7, 2012

I know my response is some what dated and probably no use to the OP now, but I'm guessing there are many people who might be looking at this post for inspiration to their own set_relation problems. I propose a more simple solution to this... (in fairness to Idham I don't know when the 4th param of set_relation() became available.)

...
$state = "AZ"; // or however you get the state you want to filter by
$crud->set_relation('officeCode','offices','city', 'officeCode IN (SELECT officeCode FROM offices WHERE state='.$state.')');
...

Voila! True grocery_CRUD awesomeness!