【发布时间】:2016-02-18 10:12:20
【问题描述】:
我在 laravel 5 Eloquent 中有两个实体,Foo 和 FooType 具有 oneToMany 关系。
class Foo {
public function fooTypes(){
return $this->hasMany('App\FooType');
}
}
和 FooType
class FooType{
public function foo(){
return $this->belongsTo('App\Foo');
}
}
问题 1:
如何使用 eloquent 查询生成器进行查询并返回 Foos,其 type_id(此列在 FooType 表中)为 5;
我尝试过的东西:
Foo::fooTypes()->where('type_id', 5);
以及任何有关此类查询的好消息的链接。
问题二: 我发现这很难使用 Eloquent 查询生成器是不是将normal laravel queries 与 DB 一起使用是不好的做法,我的意思是使用 db 我不能使用 orm 或类似的东西(或者使用 eloquent 查询生成器有什么好处):
$foos = DB::table('foos')
->join('fooTypes', 'foo_id', '=', 'foos.id')
->where('fooTypes.type_id', '=', '5')
->select('foos.*')
->get();
这种类型的查询非常简单,并且有更多关于它的教程。
【问题讨论】:
标签: php mysql laravel-5 eloquent laravel-5.1