Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用postgresql数组实现;“以下用户”;_Ruby On Rails_Arrays_Postgresql_Database Schema - Fatal编程技术网

Ruby on rails 使用postgresql数组实现;“以下用户”;

Ruby on rails 使用postgresql数组实现;“以下用户”;,ruby-on-rails,arrays,postgresql,database-schema,Ruby On Rails,Arrays,Postgresql,Database Schema,让用户相互“关注”的一种常见方法是,在用户模型上创建一个包含关注者id和关注者id列的关系表,然后使用has\u many:至引用关注者/关注者 仅仅使用postgresql数组会有什么不利之处吗?具体地说,在用户表上有followers和follower数组列,这将维护相互跟踪的用户ID列表。然后可以使用User.where(id:User.followers)获取用户 类似的方法通常是使用Tagging()完成的,因此我想知道是否有任何理由认为这种方法对于构建一个用户可以相互跟踪的系统来说是

让用户相互“关注”的一种常见方法是,在用户模型上创建一个包含关注者id关注者id列的关系表,然后使用has\u many:至引用关注者/关注者

仅仅使用postgresql数组会有什么不利之处吗?具体地说,在用户表上有followersfollower数组列,这将维护相互跟踪的用户ID列表。然后可以使用User.where(id:User.followers)获取用户


类似的方法通常是使用Tagging()完成的,因此我想知道是否有任何理由认为这种方法对于构建一个用户可以相互跟踪的系统来说是个坏主意。

主要问题是反向查询,以获得跟踪,这就是我提到的“following”数组的用途(除非我误解了你所说的followees).啊,那么你可以独立管理两个表示相同内容的数组吗?为什么不呢?但要注意同步?你可以在不完全破解AR的情况下加入查询、更新等吗?关于它如何在AR中发挥作用的观点很好。我认为,不管你如何,都可以获得你正在跟踪的用户的AR关系(User.where(id:User.following))或者是跟踪你的用户(User.where(id:User.followers),所以任何加入/更新都可以应用到那里。也许在某些情况下,这还不够,嗯。