【问题标题】:How do I link one table two times to another table using cakePHP如何使用 cakePHP 将一个表两次链接到另一个表
【发布时间】:2009-08-16 16:56:30
【问题描述】:

我正在尝试建立一个社交网络类型的网站,用户可以在其中交朋友并互相发送消息。

我有一个 users 表和一个 friends 表,它基本上有一个 user_id 和 user_friends_id。 使用 cakePHP,如何将 user_id 和 user_friend_id 链接回 users 表? 我使用 bake 来创建我所有的模型和控制器,但是当我查看用户页面时,我收到了一个错误,因为 cakePHP 不知道如何将 user_friend_id 链接回 users 表。

有人可以帮忙吗?

【问题讨论】:

    标签: cakephp join


    【解决方案1】:

    表名(字段):

     users (user_id, user fields....)
     friends_users (user_id, friend_id)
    

    关联:

     User hasAndBelongsToMany Friend
     Friend hasAndBelongsToMany User
    

    在用户模型中:

    var $hasAndBelongsToMany = array(
        'Friend' => array(
            'className' => 'User',
            'joinTable' => 'friends_users',
            'foreignKey' => 'user_id',
            'associationForeignKey' => 'friend_id',
        );
    

    在朋友模型中:

    var $useTable = 'users';
    var $hasAndBelongsToMany = array(
        'User' => array(
            'className' => 'User',
            'joinTable' => 'friends_users',
            'foreignKey' => 'friend_id',
            'associationForeignKey' => 'user_id',
        );
    

    【讨论】:

    • 非常感谢。我不知道 'foreignKey' => 'friend_id', 'associationForeignKey' => 'user_id' 我会给它一个 bash
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多