Laravel 4 如何在Laravel中通过快速加载选择另一个表联接中的字段
我有分类到新闻和新闻主表 分类至新闻Laravel 4 如何在Laravel中通过快速加载选择另一个表联接中的字段,laravel-4,eloquent,Laravel 4,Eloquent,我有分类到新闻和新闻主表 分类至新闻 新闻中心 名称varchar 标题时间戳 主要新闻 id int 标题varchar 图像varchar 在时间戳处创建 如何按新闻主字段和类别新闻字段返回?我试过这种方法,但不管用 $posts = Categorytonews::with(array( 'Newsmain' => function($query) { $query->orderBy('id', 'DESC')->select(ar
- 新闻中心
- 名称varchar
- 标题时间戳
- id int
- 标题varchar
- 图像varchar
- 在时间戳处创建
$posts = Categorytonews::with(array(
'Newsmain' => function($query)
{
$query->orderBy('id', 'DESC')->select(array('title', 'id', 'created_at', 'image'));
}
))
->get( );
您需要对此进行连接,因为with()运行另一个查询,因此在那里排序不会完成此任务:
$posts = Categorytonews::with('Newsmain') // get all fields from Newsmain
->join('news_main', 'category_to_news.news_id', '=', 'news_main.id') // join for ordering
->orderBy('news_main.id','desc') // order by joined field
->get('category_to_news.*'); // select only main table, you don't need joined fields
// on Categorytonews model - they will be loaded by with()
$posts = Categorytonews::with('Newsmain') // get all fields from Newsmain
->join('news_main', 'category_to_news.news_id', '=', 'news_main.id') // join for ordering
->orderBy('news_main.id','desc') // order by joined field
->get('category_to_news.*'); // select only main table, you don't need joined fields
// on Categorytonews model - they will be loaded by with()