Laravel的ORM入门
源码目录在\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;
}
}
本文为博主原创文章,转载请在明显位置注明出处: http://www.cnblogs.com/sweng
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。

浙公网安备 33010602011771号