Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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
Sql 选择查询数据库_Sql_Ruby On Rails_Cancan - Fatal编程技术网

Sql 选择查询数据库

Sql 选择查询数据库,sql,ruby-on-rails,cancan,Sql,Ruby On Rails,Cancan,我想执行SQL查询并将结果应用于我的能力类: res_sql = "SELECT * FROM people where trainer_id != null and people.user_id = user.id and user.role = 'Trainerone'" sql应该从Typ Sportler返回我可以应用于cancan的对象: can :manage, **:sportler** 我不确定我是否理解你的问题,但也许

我想执行SQL查询并将结果应用于我的能力类:

res_sql = "SELECT * FROM people 
             where trainer_id != null and people.user_id = user.id 
             and user.role = 'Trainerone'"
sql应该从Typ Sportler返回我可以应用于cancan的对象:

can :manage, **:sportler**

我不确定我是否理解你的问题,但也许这能帮你一点忙:

People.joins(:trainer).
       includes(:user).
       where(user_id: user.id, user: { role: 'Trainerone' })
此代码如下所示:

  • 培训师有很多人
  • 人员
    属于培训师
  • 人员
    属于用户
  • role
    是用户表的一列 (根据对象关系,
    连接中的不同关系
    包含中的不同关系(where子句中也是如此)可能需要复数)

我无法准备我的问题。所以,我有一个想法:也许是这样,但这只适用于一门课。People.find_all_by_trainer_id_和_user_id(非空,2)但与用户没有关系您缺少对“user”表的联接。请停止向问题主题添加标记。nice rails有自己的语法。我这样做了我的教练=人。加入。。。。然后我想在cancan中设置这个:can:manage,myTrainer这行吗?