테이블 구조
<code>posts id - integer title - string body - text comments id - integer post_id - integer user_id - integer body - text users id - integer name - string phone - integer sex - integer comment_likes id - integer comment_id - integer user_id - integer</code>
사용 laravel Eloquent ORM
<code><?php namespace App; use Illuminate\Database\Eloquent\Model; class Posts extends Model { /** * @var string */ protected $table = 'posts'; public function comments() { return $this->belongsTo('App\Comments', 'post_id', 'id'); } }</code>
posts
의 메시지 정보를 조회할 때 comments
의 user_id
를 통해 users
의 모든 정보
테이블 구조
<code>posts id - integer title - string body - text comments id - integer post_id - integer user_id - integer body - text users id - integer name - string phone - integer sex - integer comment_likes id - integer comment_id - integer user_id - integer</code>
사용 laravel Eloquent ORM
<code><?php namespace App; use Illuminate\Database\Eloquent\Model; class Posts extends Model { /** * @var string */ protected $table = 'posts'; public function comments() { return $this->belongsTo('App\Comments', 'post_id', 'id'); } }</code>
posts
의 메시지 정보를 조회할 때 comments
의 user_id
를 통해 users
의 모든 정보
Comment.php
<code>class Comment extends Model { public function user () { return $this->hasOne('App\User', 'id', 'user_id'); } }</code>
읽을 때
<code>$posts = Post::where(....)->with(['comments' => function($query) { $query->with('user'); }])->get(); foreach($posts $post) foreach($post->comments as $comment) echo $comments->user->name;</code>
보통 저장 성능을 사용하면
성능에 크게 신경쓰지 않는다면 아래와 같이 하시면 됩니다. 하지만 0점을 주겠습니다. 다음에서 배우지 마세요
<code>$posts = Post::find(1); foreach ($posts->comments as $comment) echo $comment->user->name;</code>
왜요? 제가 작성한 ORM 튜토리얼에서 with를 사용할 때의 차이점을 살펴보세요
http://www.load-page.com/base...