Heim >Backend-Entwicklung >PHP-Tutorial >laravel Eloquent ORM – Relevanz
Tabellenstruktur
<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>
Verwenden Sie 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>
Ich hoffe, dass wir bei der Abfrage der Nachrichteninformationen von posts
alle Informationencomments
von user_id
über users
s
Tabellenstruktur
<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>
Verwenden Sie 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>
Ich hoffe, dass wir bei der Abfrage der Nachrichteninformationen von posts
alle Informationencomments
von user_id
über users
s
Comment.php
<code>class Comment extends Model { public function user () { return $this->hasOne('App\User', 'id', 'user_id'); } }</code>
Beim Lesen mit
<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>
Normalerweise geschieht dies durch die Verwendung von „spart Leistung“,
Wenn Ihnen die Leistung egal ist, können Sie es wie folgt tun. Aber ich gebe dir 0 Punkte. Lernen Sie nicht aus Folgendem
<code>$posts = Post::find(1); foreach ($posts->comments as $comment) echo $comment->user->name;</code>
Warum? Schauen Sie sich den Unterschied bei der Verwendung von mit im ORM-Tutorial an, das ich geschrieben habe
http://www.load-page.com/base...