是否有一个简单的解决方案,通过模型上的hasMany关系分离(不删除)所有相关模型?
例如,我有两张桌子:
学院(身份证,姓名)
学生(id,name,college_id(可空))
在学院模式中,我定义了这种关系:
class College extends Model
{
public function students()
{
return $this->hasMany('App\Student','college_id','id');
}
}
什么是最好的方法,使所有现有的大学
在我的课堂上,我有以下的联想:
class A {
}
class B {
static hasMany = [
objects: A
]
}
我想使用HQL查询从所有B中删除关联。
以下是我尝试过的:
B.executeUpdate("update B b set b.objects.id=NULL")
但前者不起作用。
如何去除HasMany协会fin HQL?
我正在开发一款梦幻运动应用程序。我工作的模型是FantasyPlayer,PlayerGame,TeamGame
FantasyPlayer可以有很多PlayerGame,也可以有很多TeamGame
public function PlayerGame()
{
return $this->hasMany('App\Models\PlayerGame','player_id','player_id');
}
public function TeamGame()
{
return $this->hasMany('
我在yii2模型中有以下关系
public function getStreamsFormations()
{
return $this->hasMany(StreamsFormations::className(), ['stream_id' => 'id']);
}
public function getFormations()
{
return $this->hasMany(Formations::className(), ['id
删除父记录时,我希望EF删除子记录,而不必执行以下操作:
public Foo
{
[Key]
public int FooID { get; set; }
public string Foo_Name { get; set; }
//One to many with bar
public virtual List<Bar> Bar_List { get; set; }
}
public Bar
{
[Key]
public int BarID { get; set; }
public string Bar_Nam
目前,当我检索messages时,它呈现的是n+1问题:
select * from `messages` where `messages`.`alert_id` = '21'
这有时会被复制到100+时代!
控制器功能:
public function getAdminIndex() {
$company = User::find(Auth::user()->id)
->companies()
->with('users.alerts.location')
以下是我的一些代码:
class User extends Model {
public function orders() {
return $this->hasMany('App\Order');
}
public function emptyCart() {
$orders = $this->orders;
foreach($orders as $order) {
$order->user()->dissociate();
代码,当我喜欢post时执行
// auth()->id() is the id of the user that liked the post
$post->post_likes()->associate(auth()->id());
$post->save();
代码运行后发生的错误
方法说明\Database\Query\Builder::associate不存在。
-
Post模型
class Post extends Model
{
public function post_likes()
{
我试图建立一个具有多到多关系的网格视图。因此,我需要对ActiveDataProvider进行查询。
我有一个表'ressource',一个表‘类型’,在它们之间有一个表‘史学’。
我的模型中有很好的关系,但我不知道如何创建dataProvider。
在我的模型中:
public function getHistorique()
{
return $this->hasMany(Historique::className(), ['idType' => 'idType']);
}
public function getTy
我在寻求一些逻辑上的建议。我正在创建一个系统,用户登录并在活动中注册他们的参与。他们可以多次参加一项活动。做这件事最好的方法是什么?我想确保我可以用雄辩的这一点,而不是创造我自己的职能。
我在想象..。
用户:
id
活动:
id
name
参加者:
id
user_id
activity_id
time_at_activity
我希望以后能够做这样的事情,例如:$user->participations->where('activity_id', 3)。
什么是最好的方法来设置这个?我想..。
用户:hasMany->参与度
活动:归属->参与
参与:
UserModel有多个引线,每个引线可以有一个propertyLead,每个propertyLead可以有许多附件。每种型号都列在下面,
UserModel:
public function leads()
{
return $this->hasMany('App\Models\Leads', 'fk_user_id');
}
LeadsModel:
public function propertyLead()
{
return $this->hasOne('App\Models\PropertyLead'
如何才能获得所有属于特定用户的提交?试试看:
$user=User::find(1);
dd($user->submissions);
投掷错误:
Call to undefined method Illuminate\Database\Query\Builder::hasMany()
我要翻阅模型吗?
以下是模型:
class User extends Eloquent implements ConfideUserInterface, BillableInterface
{
public function categories()
{
r
我有以下各表:
Table: facilities
Columns:
id bigint(20) UN AI PK
name varchar(255)
Table: reports
Columns:
id bigint(20) UN AI PK
number varchar(20)
visit_date date
type varchar(255)
user_id bigint(20) UN
Table: observations
Columns:
id bigint(20) UN AI PK
observation longtext
recommendat
看看这个实体-
class Person
{
int id { get; set; };
IList<PersonAddress> Addresses { set; get; }
...
}
现在,在从UI中更新person时,如果我只是从地址列表中删除一些地址,那么我将实际从db中删除地址记录。目前,这正在更新地址表设置personId = NULL,而不是删除地址记录。有人知道怎么做吗。可能是一些映射问题。
这里我要添加整个Person类映射文件。
public class PersonMappingOverride : IAutoMappingOverrid
上下文:
我在CakePHP 3.0中做了一个有点复杂的嵌套连接:
$query = $this->find()
->contain([
'A',
'A.B',
'A.B.C',
'A.B.C.D',
'A.B.C.D.Z'
]);
A、B、C、D和Z之间的关系如下:
B hasMany A
B hasMany C
C hasMany B
C hasMany D
D hasMany C
我遇到了这样的情况:
用户模型:
public function role() {
return $this->hasOne('App\model\Roles' , 'id' ,'role');
}
public function userMetaData() {
return $this->hasOne('App\model\UserMetaData' , 'user_id' ,'id');
}
public func
例如,当我在模型中声明关系时:
class Post extends Model
{
public function comments()
{
return $this->hasMany(Comment::class);
}
}
是从数据库检索Post实例还是从我编写的那一刻从数据库中检索注释
$post->comments;
我是第一次玩拉拉,我有点困惑如何实现一个链接表关系。我有三张桌子:坦克, TankContent和Content
我有以下几种型号:
坦克:
class Tank extends Model
{
public function getTankContent()
{
return $this->hasMany('App\TankContent', 'tankID', 'tankID');
}
}
TankContent:
class TankC
我有4张表,其结构和流程如下:
User
Accounts
Contacts
Orders
这种关系如下:
$user->hasMany('accounts')->hasMany('contacts')->hasMany('orders');
/** User Model **/
class User extend Eloquent {
public function accounts(){
return $this->hasMany('Accounts');
}
当我尝试添加迁移时,有以下例外:
无法添加实体类型'SubGenres‘的种子实体,因为它具有导航’‘集。要创建关系,需要将相关实体种子添加到“类型”中,并指定外键值{'ParentId'}
如何在EntityFrameworkCore 2.2中正确设置种子
我有下一个实体
public class Genre
{
[Key] public int Id { get; set; }
[Required] [MaxLength(50)] public string Name { get; set; }
public virtual IC