Maybe you can use a search engine like SphinxSearch, Solr, ZendLucene. On Tue, Jan 25, 2011 at 3:26 PM, Vivi Vivi <[email protected]> wrote:
> Maybe we can use a search engine like SphinxSearch, Solr, ZendLucene. > > > On Tue, Jan 25, 2011 at 1:22 PM, Steve <[email protected]> wrote: > >> Can anyone help with this ? >> >> Steve >> >> On Sun, 2011-01-23 at 15:22 +0000, Steve wrote: >> > I have a database with the following tables. >> > >> > book - Holds id, title, description, publisher ... >> > author - Holds id, name >> > books_author - Holds id, book_id, author_id >> > >> > So a many-to-many relationship on the book and author as one book can >> > have many authors and one author can have many books. >> > >> > To search for books with a text field, I have the following function in >> > the Book model >> > >> > /** >> > * Build conditions to search books for a string of text. >> > * @param string $search >> > * @return array of books that contain the searched for text in their >> > database definition. >> > */ >> > function searchConditions( $search ) { >> > $like = '%' . $search . '%'; >> > $conditions = array ( >> > "OR" => array ( >> > "Book.isbn LIKE" => $like, >> > "Book.ean LIKE" => $like, >> > "Book.name LIKE" => $like, >> > "Book.description LIKE" => $like, >> > "Book.publisher LIKE" => $like >> > ) >> > ); >> > return $conditions; >> > } >> > >> > My BookContoller class calls this in the following manner : >> > >> > /** >> > Display books to user optionally filtered by search text. The text >> > will have been stored in $this->search by the search() function. >> > */ >> > function index() { >> > $this->Book->recursive = 1; >> > if($this->search) { >> > $this->paginate = array( >> > 'limit' => 12, >> > 'order' => array('Book.created' => 'desc'), >> > 'conditions' => $this->Book->searchConditions($this->search)); >> > } else { >> > $this->paginate = array( >> > 'limit' => 12, >> > 'order' => array('Book.created' => 'desc')); >> > } >> > $this->set('books', $this->paginate('Book')); >> > } >> > >> > >> > Now... >> > >> > How do I adapt the search to include the names of the books authors ? >> > >> > >> > >> >> >> -- >> Our newest site for the community: CakePHP Video Tutorials >> http://tv.cakephp.org >> Check out the new CakePHP Questions site http://ask.cakephp.org and help >> others with their CakePHP related questions. >> >> >> To unsubscribe from this group, send email to >> [email protected]<cake-php%[email protected]>For >> more options, visit this group at >> http://groups.google.com/group/cake-php >> > > > > -- > Vivi > http://photos.vr-3d.net > -- Vivi http://photos.vr-3d.net -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php
