Laravel模型一对一、一对多

文章描述:

Laravel框架模型一对一和一对多使用方法

数据表

文章数据表

作者数据表

评论数据表

创建模型文件

文章

php artisan make:model Article/Article

作者

php artisan make:model Article/Author

评论

php artisan make:model Article/Comment

一对一

article模型

    // 指定模型关联的数据表
    protected $table = 'Article';
    public $timestamps = false;
    // 定义关联方法,管理作者模型
    public function rel_author(){
        return $this->hasOne('App\Models\Article\Author','id','author_id');
    }
    public function index(){

        $data = $this-> get();
        echo "<pre>";
//        print_r($data);
        foreach($data as $key => $value) {
            echo '文章id:'. $value -> id . '<br/>';
            echo '文章名称:'. $value -> title . '<br/>';
            echo '作者名称:' . $value -> rel_author -> author_name . '<br/>';
            echo '<hr/>';

        }
    }

一对多

    // 定义评论模型
    public function rel_comment(){
        return $this->hasMany('App\Models\Article\Comment','article_id','id');
    }
    // 关联模型 一对多
    public function items(){
        $data = $this->get();
        foreach($data as $key=>$value){
            echo '文章id:'. $value -> id . '<br/>';
            echo '文章名称:'. $value -> title . '<br/>';
            foreach($value->rel_comment as $k=>$v){
                echo '&emsp;'.$v->content.'<br/>';
            }
        }

    }

 

发布时间:2023/03/21

发表评论