Dalam model Article
saya, saya ingin memuat hubungan kategori dalam model:
protected $with = array('category');
Ketika saya mendapatkan artikel saya di pengontrol, saya menyimpan hasil artikel saya dan hubungan yang ingin saya muat di sana:
$articles = Article::with([
'owner' => function ($q) {$q->remember(10);},
'tags' => function ($q) {$q->remember(10);},
'thumbnail' => function ($q) {$q->remember(10);}
])
->remember(10)->get();
Tetapi; article.category
tidak di-cache. Saya pikir itu akan di-cache bersama dengan model Article
, karena model itu ingin dimuat dalam model itu. Tapi ini tidak terjadi.
Namun itu akan di-cache jika saya ingin memuat (dengan cache) di pengontrol dengan menambahkan ini ke Article::with
saya:
'category' => function ($q) {$q->remember(10);}
Saya tahu bahwa saya dapat remember()
hubungan itu sendiri:
public function category()
{
return $this->belongsTo('Category', 'category_id')->remember(10);
}
Tapi kemudian itu akan selalu di-cache, saya ingin menentukan apakah dan untuk berapa lama itu di-cache di pengontrol. Karena nilainya mungkin berbeda seiring penggunaan.
Apakah itu mungkin? Atau haruskah caching didefinisikan dalam model, karena pemuatan cepat terjadi di sana?
with('category' => ...
di pengontrol Anda. - person Jarek Tkaczyk   schedule 08.10.2014