源码目录在\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations下
关系:一对多(One To Many)
场景:每篇博客都有若干条评论,每条评论只属于一篇博客
先定义两个Model,这里为了突出主要矛盾,删除了Model中部分无关代码
namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { protected $table = 'posts'; public function Comments() { return $this->hasMany('App\Comment','PostID','CommentID'); } }
以上是博客Post的模型,接下来是评论Comment的模型
namespace App; use Illuminate\Database\Eloquent\Model; class Comment extends Model { protected $table = 'comments'; public function Comment() { // } public function Post() { return $this->belongsTo('App\Post','CommentID','PostID'); } }
控制器里:
$articles=Post::where('id','>','50')->where('id','<','52')->get(); foreach($articles as $a){ //echo $a->id; $comments=$a->Comments; foreach($comments as $c){ //echo $c->id; } }