Laravel5.1, Beziehung, EloquentORM, viele, viele, sortieren
<table border="true">
<tr>
<th style="width:100px">Table</th>
<th colspan="3" style="width:300px">Columns</th>
</tr>
<tr>
<td style="width:100px">Articles</td>
<td style="width:100px">id</td>
<td colspan="2" style="width:200px; color: #aaaaaa">other dependent variables</td>
</tr>
<tr>
<td style="width:100px">Article_Tag</td>
<td style="width:100px">id</td>
<td style="width:100px">article_id</td>
<td style="width:100px">tag_id</td>
</tr>
<tr>
<td style="width:100px">Tags</td>
<td style="width:100px">id</td>
<td style="width:100px">name</td>
<td style="width:100px"></td>
</tr>
</table>
Dann möchte ich die Artikel-Tabelle sortieren, indem Sie [name] von Variablen Tabelle. Ich habe versucht, mit dem Schließen unten eifrig zu laden, aber es hat nicht funktioniert. Model Article und Tag sind miteinander verbunden, nur durch "anglesomeToMany", und es gelingt mir, ihre Daten auszugeben, aber sie wurden nicht sortiert.Außerdem habe ich getTag kein Argument gegeben. (Als ich argumentierte, waren sie nicht t von [name] verengte entweder)
use App\Article;
use App\Tag;
...
public function __construct(Article $article)
{
$this->article = $article;
}
...
public function getTag($tag = NULL)
{
$flag = isset($tag);
$articles = $this->article->orderBy('created_at', 'desc')->with([
'tags' => function($query) use ($flag, $tag){
($flag)
? $query->where('name', $tag)
: $query->orderBy('name');
}
])->paginate(15);
ich in zwei launguage multiposted (die andere Japaner ist), weil ich beeilen. http://ja.stackoverflow.com/questions/27838/laravel5-1-%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7% E3% 83% B3-eloquentorm-% E5% A4% 9A% E5% AF% BE% E5% A4% 9A-% E3% 82% BD% E3% 83% BC% E3% 83% 88 –