Book Image

CakePHP 2 Application Cookbook - Third Edition

By : Watts
Book Image

CakePHP 2 Application Cookbook - Third Edition

By: Watts

Overview of this book

If you are a CakePHP developer looking to ease the burden of development, then this book is for you. As a headfirst dive into the framework, this collection of recipes will help you get the most out of CakePHP, and get your applications baked in no time. Even if you're not familiar with the framework, we'll take you from basic CRUD building to useful solutions that will aid in getting the job done quickly and efficiently.
Table of Contents (14 chapters)
13
Index

Has and belongs to many (HABTM)


Has and belongs to many (HABTM) is the most complex model association available in CakePHP. This association type allows you to define many-to-many relationships in your data model, for example, in an inventory management application, where packages might be stored in different warehouses, and each warehouse might have several packages. This is a typical many-to-many relationship between packages and warehouses.

To model this association, you'll need to use three tables in your database: the packages table to store the data related to your packages, the warehouses table, and the packages_warehouses table, where the association itself is defined. The packages_warehouses table will have three columns by convention: id, package_id, and warehouse_id. We'll use this table to store the IDs of the associated models.

Of course, you could manage this table manually, keeping track of the association data and performing the changes that are required. However, CakePHP...