Laravel5.2中Eloquent ORM的模糊搜索语法怎么写
展开全部
举例来说,一个 User model 会有一个 Bed Model。我们可以在 Eloquent 定义这些关系。
#定义一个 1对1关系
<?php
class User extends Eloquent {
public function bed()
{
return $this->hasOne('Bed');
}
}
传入 hasOne()方法的第一个参数是关连 model 的名称。一旦关连被建立,我们便可以使用 Eloquent 的动态属性取得关连 model。
<?php
$bed = User::find(1)->bed;
实际执行的SQL语句如下:
SELECT * FROM users WHERE id = 1
SELECT * FROM beds WHERE user_id = 1
这边要留意的是,Eloquent 会假定关连的外键是基於 model 的名称,以这个例子来说,Bed model 会假设 user_id为外键。
belongs_to 会在宣告的model中建立外键,而has_one会将外键放在另外关连的Modle中。
#定义反向关连
使用 belongsTo()方法去定义 Bed model 的反向关连:
<?php
class Bed extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
}
在上面这个例子中,Eloquent 会根据 bed table 里的 user_id 栏位当做外键。如果您想要自行定义不同的栏位当外键,可以在 belongsTo()方法传入第二个参数:
<?php
class Phone extends Eloquent {
public function user()
{
return $this->belongsTo('User', 'local_key');
}
}
总结:想要在宣告的model中要有外键用belongs_to ,让这个model要去参照别人,如果想外键在别的model,让别人来参照这个model,则使用 has_one。
#定义一个 1对1关系
<?php
class User extends Eloquent {
public function bed()
{
return $this->hasOne('Bed');
}
}
传入 hasOne()方法的第一个参数是关连 model 的名称。一旦关连被建立,我们便可以使用 Eloquent 的动态属性取得关连 model。
<?php
$bed = User::find(1)->bed;
实际执行的SQL语句如下:
SELECT * FROM users WHERE id = 1
SELECT * FROM beds WHERE user_id = 1
这边要留意的是,Eloquent 会假定关连的外键是基於 model 的名称,以这个例子来说,Bed model 会假设 user_id为外键。
belongs_to 会在宣告的model中建立外键,而has_one会将外键放在另外关连的Modle中。
#定义反向关连
使用 belongsTo()方法去定义 Bed model 的反向关连:
<?php
class Bed extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
}
在上面这个例子中,Eloquent 会根据 bed table 里的 user_id 栏位当做外键。如果您想要自行定义不同的栏位当外键,可以在 belongsTo()方法传入第二个参数:
<?php
class Phone extends Eloquent {
public function user()
{
return $this->belongsTo('User', 'local_key');
}
}
总结:想要在宣告的model中要有外键用belongs_to ,让这个model要去参照别人,如果想外键在别的model,让别人来参照这个model,则使用 has_one。
2017-07-28
展开全部
Model::query()->where('字段','like','%模糊条件%');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询