有没有什么办法可以找出用户每天有多少独特的登录?登录每天在设计
我们可以跟踪用户,了解用户有多少sign_in的,或者在与签署:
User.last.sign_in_count
或
User.last.last_sign_in_at
但不是他的每一天有多少时间记录下来。
有没有什么办法可以找出用户每天有多少独特的登录?登录每天在设计
我们可以跟踪用户,了解用户有多少sign_in的,或者在与签署:
User.last.sign_in_count
或
User.last.last_sign_in_at
但不是他的每一天有多少时间记录下来。
你可以做的是创建一个表格,其工作方式类似于日志,在那里你输入每个登录名,或者你可以做的是在你的登录名后面创建一个.txt文件。控制并插入.txt用户名和日期,但不好的一面是日志将在计算机上。
如果您选择使用tablein sql,acces或任何你想要的,只需要一个select解决方案。
从table_log_login中选择count(*),其中user ='user'和date ='yyyy-mm-dd';
我无法理解你想要什么,所以:
如果你想指望每天登录的次数,你可以过滤器,你检查日期的登录方法后,创建一个(这是假设您有一个表格,您可以跟踪具有日期的登录次数)。
如果您想知道用户登录的连续天数,您可以做同样的事情,但可以保存开始日期和结束日期,以便知道“连胜”何时结束。如果您在使用英语时遇到问题,请使用英语和其他任何能流利使用的语言,以便有人可以正确翻译。
好吧,对不起,我很好理解,但不写得这么好,比试试两种语言。
当你登录你的程序时,你在日志表中插入数据库,当程序关闭时,更新行,插入登录开始和更新登录结束,你可以在sqlserver中使用smalldatetime或在mysql中使用datetime ,所以,您可以选择没有问题的登录日期,时间或分钟。 ('26','5','2013-12-30 08:02')插入tb_login(cod_login,cd_user,dt_start) 记:你需要有一个接受空一列,列是“dt_end”
比你更新 更新设置dt_end =从tb_login“2013-12-30 10:10”,其中cod_login =“26”;
我的母语(葡萄牙):
OK,desculpa,entendo BEM MAS NAO escrevo igualmente BEM,entãoVAMOS tentar EM杜阿斯LINGUAS
quando VOCE洛加没有SEU programa,VOCE insere呐tabela de login e quando encerra o programa,o mesmo realiza umaatualizaçãona linha com a data de log out,vocêpode usar“smalldatetime”no SqlServer ou“DateTime”no mysql,então,épossivel selecionar sem problemas o dia,hora ou minutor dos登录。插入tb_login(cod_login,cd_user,dt_start)值('26','5','2013-12-30 08:02');插入tb_login(cod_login,cd_user,dt_start) NOTA:几句PRECISA叔UMA coluna阙aceita “空”,一个colunaé “dt_end”
então几句atualiza 更新设定dt_end =从tb_login '2013-12-30 10:10',其中cod_login = '26' ;
以下是我在我的Rails应用程序所做的:
我创建了一个新的模型跟踪每个访问
rails g model Visit user_id:integer user_ip:inet user_email:string
然后
rake db:migrate
接下来,我创建了一个控制器,跟踪会话与
app/controllers/track_sessions_controller.rb
info about devise session controller
然后我说每个代码登录成功后运行
class TrackSessionsController < Devise::SessionsController
after_filter :after_login, :only => :create
def after_login
Visit.create!(user_id: current_user.id, user_ip: current_user.current_sign_in_ip, user_email: current_user.email)
end
end
然后更新您的routes.rb本节
devise_for :users
到
devise_for :users, :controllers => { :sessions => "track_sessions" }
如果你想要查看用户每天有多少次唯一登录,现在可以执行一些操作像这样:
User.all.each do |user|
logins_per_day(user.id)
end
def logins_per_day(user_id)
dates_visited = Visit.where(user_id: user_id).select('distinct created_at').all.collect{|x| x[:created_at].to_date}
puts "************* USER ID #{user_id} *************"
dates_visited.group_by {|date| date}.map {|date_visited, times_visited| puts "Date Visited: #{date_visited} Times Visited: #{times_visited.count}"}
end