返信内容:
それはLaravelの仕組みではありません。
app/Models/User.php:
<code class="language-php"><span class="cp"><?php</span>
<span class="k">namespace</span> <span class="nx">App\Models</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">Illuminate\Database\Eloquent\Model</span><span class="p">;</span>
<span class="k">class</span> <span class="nc">User</span> <span class="k">extends</span> <span class="nx">Model</span>
<span class="p">{</span>
<span class="k">public</span> <span class="k">function</span> <span class="nf">cars</span><span class="p">()</span>
<span class="p">{</span>
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="na">hasMany</span><span class="p">(</span><span class="nx">Car</span><span class="o">::</span><span class="na">class</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
</code>
ログイン後にコピー
なんと...
それらの車は私の車であり、それらは私の車です...この違いについてまだ議論していますか?プロジェクトが少なすぎませんか?
両方を持っていて、両方を使用する必要がありますか? 2 つの間に矛盾はありますか? 「それらの車は私の車です」と「それらは私の車です」が記事内で別々に表示されても、文脈が適切であれば問題ありません。
すでに ORM を使用していますが、まだこの問題に悩まされていますか? ORM を使用すると、内部 SQL で何が起こるかを心配する必要がなくなります。最初の方法を使用し、プロジェクトのビジネスが完全に開発されるまで待ってから最適化を検討してください。
個人的には2枚目の方が良いと思います。
active_record によると、user に書き込む必要があります。
車はユーザーの属性であり、ユーザーから取得する必要があるためです。
将来的に複雑なクエリを追加する場合、ユーザーに配置すると拡張できなくなりますか? ? ?
あなたのグループにこれを読むことをお勧めします
第3巻もありますが、中国語版はありません
両方のメソッドを作成した場合、理解の観点からすると、
$user->myCars()
は
$car->list($userId)
よりも人間の思考が複雑であると思います。
ララベルを使っていますか? 1階にて実例をご覧いただけます。これについて議論することに本当に意味があるのでしょうか?とても低いです