在设计通知数据模型方面需要一些帮助。所以,我想使用 Cassandra,并有一个网页,我想在其中存储用户 fe 的通知:
用户必须获取最后通知的范围并删除单个通知。所以我需要一个最佳模式(50% 的读取 vs. 50% 的写入??)。
我的想法如下......(你怎么看?按时间戳排序的键怎么样):
notifications {
john : {
111-1123-3242-9202 : {type: 'newmail'; ...; timestamp: 321948293849}
555-1123-aaac-ccc3 : {type: 'voted'; ...; timestamp: 321948293433}
}
anna : {...}
...
}
Run Code Online (Sandbox Code Playgroud)
真的提前致谢!
汤姆
我需要制作一个智能菜单,为此我需要一个多对多关系。
我的模型是:
from django.db import models
class Health_plan(models.Model):
a = models.IntegerField ()
b = models.IntegerField ()
class Doctors_list(models.Model):
name = models.CharField(max_length=30)
hp_id = models.ManyToManyField(Health_plan)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
如何在数据库中建立这种关系?我正在考虑将health_plans(a,b) 作为列,将医生作为行,用 0 和 1 来标识他们所涵盖的健康计划。
有人告诉我这是对 a 的滥用ManyToManyField,我不知道该采取哪一步。
帮助表示赞赏
我有一个基于模型/项目的设计,类似于http://qt-project.org/forums/viewthread/14121 中解释的设计
我真正需要的是一个像 RosterElement::currentIndex() 这样的方法,它返回一个 QModelIndex 对象。但我不知道怎么去索引,而不检查所有indicies internalPointer()对值这个(应该只有一个单一的比赛,还没有尝试过呢)。有没有更好的实现?
我从一个相当大的数据库中提取,出于安全原因,我的数据库用户只能从学生表中选择有限数量的列:姓名、毕业日期和性别。但是在 select * 语句中返回了许多其他列。
在常规 SQL 中,如果我运行类似:
SELECT * FROM students
Run Code Online (Sandbox Code Playgroud)
将在该表上返回错误。如果我运行 eloquent 模型也一样
Students::all();
Run Code Online (Sandbox Code Playgroud)
也会返回错误。
我知道在 Eloquent 中,您可以在定义类似于以下内容的关系时限制您的选择:
class Students extends Eloquent {
protected $table = 'student_info';
public function classes() {
return $this->hasMany('classes')->select(array('room', 'time'));
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是,是否可以在主模型上完成选择限制,类似于在类表上进行限制。所以,当我运行Student::all();它时,它只选择我需要的列。
主要问题是每次运行学生查询时,我每次都必须执行特定的选择命令,而不仅仅是说“ Student::all()”。Student::find(1); 也一样。也会返回一个错误,因为它仍然运行一个SELECT * FROM student_info WHERE id = 1.
我尝试设置$visible变量,但它仍然呈现相当于SELECT * FROM ...
有人有解决方案吗?
更新: 请注意,我正在寻找模型级别的解决方案,而不是控制器级别。我可以从控制器端进行选择,但这违背了模型概念的目的,并且必须在每个查询中声明要选择的列。
谢谢!特洛伊
我正在开发 Joomla 3.4 application我必须将一个组件模型调用到另一个组件控制器但不能从那里调用的地方。
支持,我有 2 个组件
>> comp1
model: m1
controller: c1
>> comp2
model: m2
controller: c2
Run Code Online (Sandbox Code Playgroud)
我想打电话 comp1 model (m1) into comp2 controller (c2).
我尝试使用以下代码:
$model = $this->getModel('m1', '', array());
Run Code Online (Sandbox Code Playgroud)
但是在$model获取空值时,如果上面的代码使用在comp1 controller (c1)然后运行完美。
什么实际问题是没有得到。任何人都有一个完美的想法。
谢谢
我对 Yii 很陌生,我遇到了一个小问题,我想显示一个已经过滤的表,并允许使用查询参数字符串进行过滤。
我在 Controller 中声明了一个新动作
public function actionIndexFiltered($candidateId)
{
$searchModel = new CvRisorsaTitoloSearch();
//$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider = $searchModel->search([$searchModel->formName() => ['is_cod_candidato' => $candidateId]]);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
Run Code Online (Sandbox Code Playgroud)
此代码有效,但它不允许使用查询参数进行过滤。
'CvRisorsaTitolo' 是包含其他信息的“多对多”表,而 'is_cod_candidato' 是 'CvRisorsaTitolo' 的字段。
您好,我可以将我的过滤器和查询参数过滤器结合到其他字段“Yii::$app->request->queryParams”。
谁能帮我?
在我的应用程序中,当我尝试创建一个用户时
User.create(email:"jnan@gmail.com",encrypted_password: "foobar",name:"jnan")
Run Code Online (Sandbox Code Playgroud)
表明
(0.1ms) begin transaction
User Exists (0.2ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'jnan@gmail.com' LIMIT 1
(0.1ms) rollback transaction
=> #<User id: nil, email: "jnan@gmail.com", encrypted_password: "foobar", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: nil, updated_at: nil, name: "jnan">
Run Code Online (Sandbox Code Playgroud)
我的用户包含
=> User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: …Run Code Online (Sandbox Code Playgroud) 我想创建模型来验证模型中依赖于其他字段条件的所需字段。
public class FixedDeposit
{
public int DebitAmount { get; set; }
public string PAN { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,如果 DebitAmount 大于 50,000,则必须需要 PAN 字段。
希望有人可以帮助解决这个问题。
我有 2 个控制器/模型:(1)用户有很多(2)评论。评论属于用户。
我想在视图中使用 link_to 简单地更新 Review 模型中的标志属性。如果用户单击“标志”链接,它将更新/修补模型“审查”中的模型属性“标志”为整数“1”。
像这样的东西?
<%= link_to 'Flag', [review.user, review.flag], method: :put, data: { confirm: 'Are you sure?' } %>
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!
我正在 R 中研究一个简单的模型:
fit<-lme(x~y, data, random=~1|subject)
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
na.fail.default(list(h1 = c(103L, 20L, 34L, 85L, 47L, 136L, 76L, : 对象中的缺失值)中的错误
(h1 是我的一个因子的列标题之一)
关于如何解决这个问题的任何想法?相同的模型适用于不同的数据集。
model ×10
asp.net-mvc ×1
cassandra ×1
controller ×1
database ×1
django ×1
eloquent ×1
joomla3.4 ×1
laravel ×1
link-to ×1
many-to-many ×1
nlme ×1
php ×1
python ×1
qt ×1
r ×1
search ×1
validation ×1
yii2 ×1