草庐IT

belongstomany

全部标签

php - "Cannot convert value to string"取数据时(belongsToMany关系)

我正在使用CakePHP3.3.6和MySQL5.7.13。我的数据库中有这三个表(以及其他表):collections、tags和连接表collections_tags。集合表CREATETABLEIFNOTEXISTS`database`.`collections`(`id`INTUNSIGNEDNOTNULLAUTO_INCREMENT,`name`VARCHAR(45)NOTNULL,`event_date`DATENOTNULL,`url_slug`VARCHAR(45)NOTNULL,`status`TINYINT(1)NOTNULLDEFAULT0,`user_id`IN

javascript - Sequelize : Check and add BelongsToMany (N to N) relation

我的应用程序有许多用户,他们可以喜欢很多帖子(N到N)。这就是为什么我为我的模型(SequelizeDoc)分配了以下“belongsToMany”关系://PostModelmodels.Post.belongsToMany(models.User,{through:models.PostLikes});//UserModelmodels.User.belongsToMany(models.Post,{through:models.PostLikes});在我的PostController中,我得到了“likePost”函数的以下用例:检查帖子是否存在。(似乎有效)如果是,请检查用户

php - belongsToMany CakePHP 3 的分页条件

我有Semesters、Disciplines表和一个联合表Semesters_Disciplines。我想在DisciplinesController中创建一个带有semester_id作为参数的Action索引,其中仅使用参数中传递的id列出属于学期的学科。我试过这个:publicfunctionindex($semester_id){$options=['semester_id'=>$semester_id];$this->paginate=['conditions'=>$options];$this->set('disciplines',$this->paginate($thi

php - Laravel belongsToMany 关系在两个表上定义本地键

所以belongsToMany关系是多对多关系所以需要一个数据透视表例如,我们有一个users表和一个roles表以及一个user_roles数据透视表。数据透视表有两列,user_id,foo_id...foo_id指的是id角色表。为此,我们在userEloquent模型中编写以下内容:return$this->belongsToMany('Role','user_roles','user_id','foo_id');现在这会在users表中查找一个id字段,并将它与user_roles中的user_id字段连接起来>表格。问题是我想指定一个不同的字段,而不是id以加入users表

php - Laravel count Eloquent belongsToMany 相关模型

我是Laravel的新手,我遇到了以下问题:我有一个用于用户和组的表,以及一个用于连接它们的表。一般任务任何用户都可以加入任何组。----------------------------------------------|users|groups|user_groups||--------------------------------------------||id-intpk|id-pk|id-pk||nametext|name|user_id-fk||email||group_id-fk||phone||any_attr|----------------------------

php - Laravel 中跨多个数据库的 belongsToMany 关系

我有模型A和模型B,它们位于两个不同的数据库中。现在我在与模型A相同的数据库中有一个名为a_bs的数据透视表。我在模型A中设置了这样的belongsToMany关系publicfunctionbs(){return$this->belongsToMany('B','a_bs','a_id','b_id');}当我尝试访问这种关系时:$a=A::find($id);print_r($a->bs->lists('id'));我收到一条错误消息,指出模型B的数据库中不存在我的数据透视表。这显然是正确的,因为数据透视表在模型A的数据库中。我怎样才能让Laravel知道呢?不建议将数据透视表放入

php - 拉维尔 : Saving a belongsToMany relationship

我想在我的表格签名中保存一个新签名。每个签名都可以链接到多个用户。我在用户和签名之间有一个多对多的表。我的模特签名是:classSignatureextendsModel{public$fillable=['name','template'];publicfunctionusers(){return$this->belongsToMany('App\User');}}我的ControllerSigantureController.php是:publicfunctionstore(CreateSignaturesRequest$request){//return$user_id;$val

php - Laravel belongsToMany 排除数据透视表

我有两个模型,User和Badge。一个用户可以有多个徽章,一个徽章可以属于多个用户。(使用数据透视表)目前我正在获取我需要的数据,但另外我正在获取pivot表。如何排除这个?这是User模型:classUserextendsEloquent{publicfunctionbadges(){return$this->belongsToMany('Badge','users_badges');}}还有徽章模型:classBadgeextendsEloquent{publicfunctionusers(){return$this->belongsToMany('User','users_ba

php - hasMany 与 laravel 5.x 中的 belongsToMany

我很好奇为什么hasMany的Eloquent关系与belongsToMany的签名不同。特别是自定义连接表名称——对于一个给定的Comment属于许多Role的系统,一个给定的Role将有许多Comment,我想将关系存储在名为my_custom_join_table的表中,并将键设置为comment_key和role_key.return$this->belongsToMany('App\Role','my_custom_join_table','comment_key','role_key');//works但反过来,我无法定义该自定义表(至少文档没有提及):return$thi

php - 从具有 belongsToMany 关系的相关 laravel 模型中获取 ids 数组

我有一个属于许多用户的模型角色。ClassRole{public$fillable=["name"];publicfunctionusers(){return$this->belongsToMany('App/Models/User')->select(['user_id']);}}当我在角色中使用with查询检索用户时。我希望它只返回user_ids数组Role::with("users")->get();它应该返回以下输出[{"name":"Role1","users":[1,2,3]},{"name":"Role2","users":[1,2,3]}]目前它给出以下输出[{"na