我在用户模型中创建了一个anonimus全局范围,如下所示,以便仅在前端获得公共用户:
protected static function boot()
{
parent::boot();
static::addGlobalScope('is_public', function(Builder $builder) {
$builder->where('is_public', '=', 1);
});
}
Run Code Online (Sandbox Code Playgroud)
但是...当我需要在后端执行登录时,我当然需要检查非公共用户,因此我需要排除全局范围。
是否可以使用laravel的默认AuthController?
非常感谢!!
我有一个(请求范围的)列表,用户可以从中选择"PQ"(链接列表).单击或以其他方式输入浏览器时,将显示每个PQ的主页面.每个PQ的页面都是表格
http://localhost:8080/projectname/main.jsf?id=2
这是PQ bean的第一个:
@Named
@ViewScoped
public class PqHome implements Serializable
{
@PersistenceContext(unitName="...")
private EntityManager em;
private Integer id;
private PQ instance;
@PostConstruct
public void init()
{
System.out.println("ID is " + id); // ID from URL param
instance = em.find(PQ.class, id);
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public PQ getInstance()
{
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
这是main.xhtml:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
...>
<ui:define name="metadata">
<f:metadata>
<f:viewParam name="id" value="#{pqHome.id}">
<f:convertNumber integerOnly="#{true}" />
</f:viewParam> …Run Code Online (Sandbox Code Playgroud) 对大多数人来说可能是一个简单的问题,但仍然可以掌握数据库查询.我有可以给出评级的食谱,我现在想要收集这些评级并获得平均评级.食谱有很多评级(我认为这是正确的关系)
我已经创建了这样的范围
class Recipe < ActiveRecord::Base
belongs_to :user
has_many :ratings
attr_accessible :country, :description, :name
scope :average_rating,includes(:ratings).group('recipe_id').where('AVG(ratings.rating)');
end
Run Code Online (Sandbox Code Playgroud)
评级模型
class Rating < ActiveRecord::Base
has_many :users
attr_accessible :ratings, :recipe_id, :user_id
end
Run Code Online (Sandbox Code Playgroud)
我的评级还应包括has_many:食谱吗?
在我的控制器中,我创建了一个实例变量来显示结果
@avgrating = Recipe.average_rating
Run Code Online (Sandbox Code Playgroud)
但坚持如何让这个在我的视图中显示在这个块中,例如在我的索引中,控制器很简单
@recipes = Recipe.all
Run Code Online (Sandbox Code Playgroud)
和观点
<% @recipes.each do |recipe| %>
<tr>
<td><%= recipe.name %></td>
<td><%= recipe.description %></td>
<td><%= recipe.country %></td>
<td>Avg Rating =<%= not sure here %></td>
</td>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
当我看到答案时,我肯定感到愚蠢,但是现在无法想到如何做到这一点
谢谢
我需要了解是否可以像使用产品一样复制Magento中的内容块或页面?
例如,我可以在(英语)中创建产品,然后选择替代语言范围(意大利语)并将文本粘贴到意大利语版本中.
这很直观.
这对CMS页面和块是否可行?它似乎不是 - 但也许我错过了什么?
我导航到CMS>页面并选择要编辑的页面,它只是提供更改语言分配的能力(不替换它用于替代范围).
我读过文档并看到了这个。努力将 Cognito + API GW + OAuth2 组合在一起。我的问题:
谢谢你的澄清。
在我的类的构造函数中,我创建了一个具有所需大小的数组,如下所示:
ArrayClass::ArrayClass(int size)
{
Number* nmbr = new Number[size];
}
Run Code Online (Sandbox Code Playgroud)
和
ArrayClass::ArrayClass()
{
Number* nmbr = new Number[2];
}
Run Code Online (Sandbox Code Playgroud)
我也在标题中指定了它
Number* nmbr;
Run Code Online (Sandbox Code Playgroud)
虽然数组本身的创建工作,我似乎无法在构造函数之外访问它.似乎每当我离开构造函数时,变量都会从内存中释放出来.如何防止这种情况,以便在调用类中的其他函数时可以使用变量?
我正在制作一个搜索页面,其中侧面有几个过滤器,我正在尝试将它们与 Searchkick 集成以查询产品。
这些是我用于产品的范围
型号/产品.rb
scope :in_price_range, ->(range) { where("price <= ?", range.first) }
scope :in_ratings_range, -> (range) { where("average_rating >= ?", range.first) }
def self.with_all_categories(category_ids)
select(:id).distinct.
joins(:categories).
where("categories.id" => category_ids)
end
Run Code Online (Sandbox Code Playgroud)
这就是我实际上调用范围的地方
控制器/search_controller.rb
@results = Product.search(@query)
@results = @results.with_all_categories(params[:category_ids]) if params[:category_ids].present?
@results = @results.in_price_range(params[:price]) if params[:price].present?
@results = @results.in_ratings_range(params[:rating]) if params[:rating].present?
Run Code Online (Sandbox Code Playgroud)
运行后,我收到一条错误消息,指出 searchkick 模型没有任何具有我的作用域名称的方法。
#Searchkick::Results:0x00007f4521074c30> 的未定义方法“with_all_categories”
如何在搜索查询中使用范围?
我一直在谷歌搜索,但没有找到答案。
我非常了解cookie作用域在 ColdFusion 中的作用。但我不是 100% 确定client范围的目的或它与cookie范围之间的差异。它变得有点混乱,因为client可以将范围的一种存储方法设置为cookie.
有人可以提供一个示例或用例来说明差异是什么以及我何时会使用一个和另一个?
我有两个模型,员工和部门.雇员通过职位属于部门.在select标签中,我只想列出其中有员工的部门.
现在我有:
@current_company.departments.collect {|d| [d.title, d.id] if d.employees.any?}
Run Code Online (Sandbox Code Playgroud)
这给我留下了几个零选择选项.我以为我可以编写像@ current_company.departments.with_employees那样工作的depmartments的范围:
scope :with_employees, :where => (self.employees.any?)
Run Code Online (Sandbox Code Playgroud)
我意识到这不起作用,但我坚持我应该做的事情.
如果我在函数中声明一个变量或参数,大写是否有任何影响或意义?
显然,对于函数之外的方法和变量,它会导出它们,但是上面的呢?