0
我々は2つのモデルがあります:ページ付けは
- SimpleModel(ID、国、コード)
- ComplexRelatedModel(ID、名前、住所)
SimpleModelは多くのComplexRelatedModelを持っています、その後、
class Product extends Model
{
protected $fillable = [
'name'
];
/* hasOne */
public function complexRelatedChild()
{
return $this->hasOne(self::class, 'parent_id', 'id');
}
}
我々が行う場合
$simples = SimpleModel
->with('complexRelatedChild')
->simplePaginate(100000 /* a lot! */);
そして、我々は
foreach ($simples as $simple) {
echo $simple->complexRelatedChild->name;
}
を行う任意のComplexChildがhydratatedと準備ができているだけです。私の場合、これは多くのメモリを必要とします。モデルのファンクションや機能がなくても、1つのフィールドだけが必要です。
関連オブジェクトからデータフィールドを使用することは可能でしょうか、または雄弁にこれは可能ではありませんか?
おかげで多くのことをdocumentationを参照してください。 偉大な解決策、あなたは私を素晴らしいと理解しています。 (私の悪い英語には申し訳ありません)。これが最善の解決策だと思うなら、素晴らしい。私はあなたのことをよく聞きます。P クライアントはすべてのデータを取得し、indexDBで1日1回sincronizeするため、リソースが必要です。私がページを設定すると、クライアントはページごとにページを取得する必要があります。 – pablorsk
@pablorsk:私はあなたが試すことができる他の選択肢で私の答えを更新しました。がんばろう! –
あなたのアップデートは私の問題を解決します!悪い面はSQL要求をやり直すことです。しかし、使用されるメモリはわずか30%です。 – pablorsk