Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8283459
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T10:44:37+00:00 2026-06-08T10:44:37+00:00

I have a database with some relations. I have two tables in this example:

  • 0

I have a database with some relations.
I have two tables in this example:

activity_ingredients   ingredient_aliases
---------------        ---------------
id                     id
ingredient_id          ingredient_id

I want to make a conditions into my model to connect the tables by the field “ingredient_id”. I have done in this mode:

class ActivityIngredients extends AppModel{
        public $name = 'ActivityIngredients'; 
        public $useTable = 'activity_ingredients';

        public $hasMany = array (
        'IngredientAlias' => array (
            'className'     => 'IngredientAlias',
            'foreignKey'   => false,
            'conditions' => array('ActivityIngredients.ingredient_id = IngredientAlias.ingredient_id')
        )
        );
    }   

class IngredientAlias extends AppModel {

    public $name = 'IngredientAlias';
    public $useTable = 'ingredient_aliases';
    public $belongsTo = array(
         'ActivityIngredients' => array(
            'className'    => 'ActivityIngredients',
            'foreignKey'   => false
        )

    );  
} 

If I write this code give me an error like this:

Column not found: 1054 Unknown column ‘ActivityIngredients.ingredient_id’ in ‘where clause’

But if Instead of hasMany I write hasOne it doesn’t return any error and is perfect. But my relation is hasMany.. why?

To retrieve data I make a query into my UserController.
User is associated with Activity with hasMany, Activity is associated with ActivityIngredients in this mode:

public $hasOne = array(
            'ActivityIngredients' => array(
                'className' => 'ActivityIngredients',
                'conditions' => '',
                'dependent' => true,
                'foreignKey'   => 'activity_id'
            )

To retrieve data I’m using this query at the moment but I think that I have to change all query now

$this->User->Activity->recursive = 2;
        $activity = $this->User->Activity->findAllByUser_id($id);
        $this->set('activity', $activity);
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T10:44:38+00:00Added an answer on June 8, 2026 at 10:44 am

    The first thing you should use a singular word while defining model class. It means that the model name should be ActivityIngredient instead of ActivityIngredients.

    Although if in activity_ingredients table if ingredient_id id is a foreign key that belongs to ingredient_aliases table. Then it should be named as ingredient_alias_id. Similiarly if you would do this same in ingredient_aliases table, i.e. the foreign key name would be activity_ingredient_id. Then there will be no problem at all.

    However, I am giving a solution to your problem. Kindly check and verify.

    Then your code should looks like:

    class ActivityIngredient extends AppModel{
        public $name = 'ActivityIngredient'; 
        public $useTable = 'activity_ingredients'; // if you use singular term then no need to define $useTable
    
        public $hasMany = array (
        'IngredientAlias' => array (
            'className'     => 'IngredientAlias',
            'foreignKey'   => false,
            'finderQuery' => 'select * from ingredient_aliases as `IngredientAlias`
                              where `IngredientAlias`.`ingredient_id` = {$__cakeID__$}'
                                   )
        );
    }   
    
    class IngredientAlias extends AppModel {
    
        public $name = 'IngredientAlias';
        public $useTable = 'ingredient_aliases';
        public $belongsTo = array(
                          'ActivityIngredient' => array(
                                       'className'    => 'ActivityIngredient',
                                       'foreignKey'   => 'ingredient_id' 
                                                       )
                                 );  
    } 
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have this current database which we need to replace some tables by anther
I have two tables of data categories and category relations. This is a setup
I am into some problems atm, that is, I have a database of some
I have a database table with some rows that I want to fetch using
I have an existing database containing some pictures in blob fields. For a web
so in my database some rows have NULL values, and when I select *
I have several Delphi programs that maintain connections to a database (some Oracle, some
I have a live database that had some data deleted from it and I
I have a database that has around 10k records and some of them contain
We have a database app that we're beginning to write some new systems for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.