Doctrine Relations and Data Fixtures

December 8th, 2009

This episode of zendcasts will cover how we can write Data Fixtures and extend our data model to include a simple one-to-many using Doctrine’s schema.yml file. I also noticed in the code of my last example that Model loading wasn’t working properly. I cover the fix in the video, however I’d like to highlight it here too. In your _initDoctrine() method, make sure you load the models:
Doctrine::loadModels($doctrineConfig['models_path']);

also, I’d like to extend a welcome to the folks at ServerGrove Networks for sponsoring this episode of Zendcasts. ServerGrove specializes in Zend Framework hosting and they’ve offered a 10% rebate on hosting with coupon code “zc“. If you’re looking for a host, be sure to check them out.

Grab a copy of the project or browse the repository.

Edit: I spoke to Guilherme Blanco (one of the core developers behind Doctrine) and he kindly brought up some things I should bear in mind for my Doctrine / Zend set.
Doctrine’s autoloader configuration can be scaled back by doing PEAR style Model Loading (new to 1.2). Also, you can use Doctrine_Core instead of Doctrine since everything has been moved to Doctrine_Core in order to follow Zend-style namespacing.

lastly, you can register your own CLI tasks as part of Doctrine’s CLI script or just write them in the scripts/doctrine.php file. With this, you could have your newly-generated models placed in the necessary folders. I’ll be experimenting with this in the coming week.

 

One to Many with Zend_Db

May 4th, 2009

This is part 3 in the Zend_Db series. I’m only scratching the surface with what you can do with Zend_Db_Table classes, however starting is often the hardest part. I’ve posted the code once again on the Google code for this episode, so please don’t be shy and grab a copy.

There’s a lot of discussion over where and how I’m using the model in the comments, and I have a feeling that as I keep doing this, some of my controversial design decisions (whether out of ignorance, which I’ll gladly acknowledge, or professional experience) might start to surface. I’m really hoping to do a series of similar videos with Doctrine, since I find their solution to database persistence really elegant. If anyone has any suggestions, or would like access to the Google code, I would love to open up the discussion and find the “best practices” here. Personally, I would start by moving our custom made form to Zend_Form and adding some much needed validation to the project.

Lastly, I need to apologize for the delay, this week has been quite full due to work and personal commitments. I’m going to keep the video a week schedule as best I can. The video also deals with setting up the MySQL database, if this isn’t interesting, skip to the 12 minute mark.

 
Desktop RSS feed iPhone + iPod