我没有得到1-n的关系.
我读过一些文章,但仍然无法弄明白.
我得到1-many,1:1和多对多.
但是1-n意味着什么?
我有一个希望是一个简单的问题 - 我有两个实体 - List和ListItem - 并且它们之间建立了一对多的关系,一切都很好.
我的问题出现在我正在尝试执行fetchrequest时,它将返回由listitem的属性划分的listitems.我不能直接在listItem对象上执行fetchrequest,因为没有办法说'Where List ='xxxxx'',所以我有类似如下的内容:
- (NSFetchedResultsController *)getListItems {
// Init a fetch request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"List" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"listItem.productName" ascending:YES selector:nil];
NSArray *descriptors = [NSArray arrayWithObject:sortDescriptor];
[fetchRequest setSortDescriptors:descriptors];
// Init the fetched results controller
NSError *error;
self.globalFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"listItem.productName" cacheName:@"listItems"];
self.globalFetchedResultsController.delegate = self;
if (![[self globalFetchedResultsController] performFetch:&error]) NSLog(@"Error: %@", [error localizedDescription]);
[fetchRequest release];
[sortDescriptor release];
return …Run Code Online (Sandbox Code Playgroud) 我再一次阅读了Apple开发人员Core Data文档,发现它在创建SQLLite实体时缺少图形Xcode 4编辑器,就像我在Xcode 3中分离IB时所发现的那样.
三张桌子:
CrossReference具有ZipData和LocationData的主键,因此我只需要查询CrossReference以获取位置的所有拉链或拉链的所有位置.这当然意味着ZipData和LocationData上的多对多关系(也许还有CrossReference?).
我所拥有的(不起作用)关系是这样的:
我还没有将任何实体子类化为NSManagedObjects.我只是在viewDidLoad方法中执行下面的代码,只是为了看看我的设置是否有效.
// test/learn the core data frame work
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *locationData = [NSEntityDescription
insertNewObjectForEntityForName:@"LocationData"
inManagedObjectContext:context];
[locationData setValue:@"Testville" forKey:@"City"];
[locationData setValue:@"United Tests" forKey:@"Country"];
[locationData setValue:@"County of Test" forKey:@"County"];
NSManagedObject *zipCodeData = [NSEntityDescription
insertNewObjectForEntityForName:@"ZipCodeData"
inManagedObjectContext:context];
[zipCodeData setValue:[NSNumber numberWithDouble:1111.00] forKey:@"Income"];
[zipCodeData setValue:[NSNumber numberWithDouble:22.00] forKey:@"LandArea"];
[zipCodeData setValue:@"23060" forKey:@"ZipCode"];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; …Run Code Online (Sandbox Code Playgroud) 我有一个图形数据库,它正在对消息的元数据和可以包含在这些消息中的字段进行建模。其中一些字段可以是“组”,它们是其他字段的组。我试图问 Neo 的是“哪些消息正在使用这个组?”。以下是可用于从消息获取到组的路径类型列表:
message-[:INLINE]->group (the fields of a group are used inline on a message)
message-[:FIELDREF]->(fref)-[:FIELD]->(field)-[:DATATYPE]->group (the group is used as a data type by a field on the message)
Run Code Online (Sandbox Code Playgroud)
第二个链是递归的。换句话说,-[:FIELDREF]->(fref)-[:FIELD]->(field)-[:DATATYPE]-(group) 段可以一遍又一遍地发生,然后最终到达我感兴趣的组在。
所以,我想知道的是,我如何在路径中的每个单独元素上要求重复的关系链,而不仅仅是多个(例如,关系名称后面的 *)?
回顾一下,您可以通过遍历 [:INLINE] 关系从消息进入组,然后可以遵循 n 个“fieldref-field-datatype-group”链。或者您可以从通过遍历 n 个“fieldref-field-datatype-group”链来获取消息。
START group=node({sourceGroupId})
... ? ? ? ...
Run Code Online (Sandbox Code Playgroud)
所以我想要像 [?:INLINE]-> 0..n of (fieldref-field-datatype-group) 链。
有什么想法吗?
我是Laravel的真正新手但到目前为止我很喜欢它.我正在努力的事情,但我想检索登录用户的数据,我不知道如何去做.
我有一些表,但我现在保持基本,我有项目表和用户表,我在模型中定义了这两者之间的关系如下:
user.php的
public function projects() {
return hasMany('project');
}
Run Code Online (Sandbox Code Playgroud)
project.php
<?php
use Illuminate\Database\Eloquent\ModelNotFoundException;
class Project extends Eloquent
{
public function user()
{
return belongsTo('user');
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以执行以下操作以使用foreach循环检索数据库中的所有项目,但是这不会检索登录的用户项目:
$projects = DB::table('projects')->get();
Run Code Online (Sandbox Code Playgroud)
我看到一个教程不是很深入,但他说访问模型查询我必须使用以下命令:
$project = User::all()->projects;
Run Code Online (Sandbox Code Playgroud)
然而,这也没有奏效.任何人都可以通过真实的教程或发布简单的例子指出我正确的方向吗?
提前致谢
我有三个型号,多对多的关系:User,Activity,Product.表格看起来像id,name.并且在每个模型中都有功能,例如,在用户模型中:
public function activities()
{
return $this->belongsToMany('Activity');
}
public function products()
{
return $this->belongsToMany('Product');
}
Run Code Online (Sandbox Code Playgroud)
数据透视表User_activity_product是:
id,user_id,activity_id,product_id.目标是获得如下数据:User->activity->products.是否有可能以这种方式组织这种关系?以及如何更新此数据透视表?
所以这就是问题所在.我有2个型号:
裁判级别和裁判
这两个是:
class RefereeLevel(models.Model):
level = models.PositiveSmallIntegerField(blank=False,default=1,verbose_name=_("level"),unique=True)
salary = models.DecimalField(blank=False,default=0.00,decimal_places=2,max_digits=4,verbose_name=_("salary"))
def __unicode__(self): # Python 2.7: def __unicode__(self):
return self.level
Run Code Online (Sandbox Code Playgroud)
第二节课:
class Referee(models.Model):
member = models.OneToOneField(Member,related_name='member',blank=False)
information = models.ForeignKey(RefereeLevel,related_name='information',blank=False,null=True,default=1)
Run Code Online (Sandbox Code Playgroud)
现在发生的是,如果我删除了RefereeLevel,那么该级别的裁判将被删除.但我不希望这样,我希望将裁判的信息设置为无.
那可能吗?
谢谢,阿拉
我有一个关于 Laravel 的关系模型的问题
comment table id post_id
post table id author_id
author table id name
Run Code Online (Sandbox Code Playgroud)
我想使用关系模型通过帖子表在评论模型中获取作者姓名,如何实现这一点。非常感谢。
考虑这个例子
class SomeClass extends Model{
public function user(){
return $this->belongsTo('App\User');
}
}
$instance = SomeClass::findOrFail(1);
$user = $instance->user;
Run Code Online (Sandbox Code Playgroud)
laravel怎么知道(我的意思是核心)$ instance-> user(没有括号)返回相关的模型?
我有三个模型
文章
id
title
Run Code Online (Sandbox Code Playgroud)
评论
id
title
user_id
article_id
Run Code Online (Sandbox Code Playgroud)
用户
id
name
Run Code Online (Sandbox Code Playgroud)
我想要实现的是根据其 id 选择一篇文章,其中包含发表该评论的评论和用户信息
像那样 :
$article = Article::find($id -- say 1)->with('comments' -- this is a relation in Article Model)->get();
Run Code Online (Sandbox Code Playgroud)
这给了我带有相关评论的文章,作为一组对象说评论一 - 评论二等......
我想要什么而不是评论对象中的 user_id 我希望它是一个用户对象
看到这张照片,这是我到目前为止所达到的
使用 Laravel 5.4