左右值编码的数据库表

查询 level=2 但是有没有子节点的节点

require 'active_record'
require 'mysql2'
require 'yaml'

config = YAML::load(File.open(File.dirname(__FILE__) + "/database.yml"))
ActiveRecord::Base.establish_connection(config)

if ARGV.include?('--debug')
  ShopArea = Class.new ActiveRecord::Base
  dao = ActiveRecord::Base.connection
  p '======== debug ========'
  ShopArea.where(active:'1').find_each do |tar|
    level = ShopArea.where(['lft <= ? AND rgt >=?', tar.lft, tar.rgt]).count
    son_num = (tar.rgt.to_i - tar.lft.to_i - 1)/2
    p tar.area_name if level == 2 && son_num == 0
  end
  exit
end

相关推荐