联接Laravel表
我有三张表,分别是荣誉表、荣誉分类表和特殊邮政表。我需要从这些表中获取数据,并使用where条件检查post id 我在这里附上了数据库表截图 我已经试过了,但是没有效果联接Laravel表,laravel,Laravel,我有三张表,分别是荣誉表、荣誉分类表和特殊邮政表。我需要从这些表中获取数据,并使用where条件检查post id 我在这里附上了数据库表截图 我已经试过了,但是没有效果 $results = DB::table('kudos') ->select('kudos.description','kudoscategory.catname','kudoscategory.image','kudos.spid') ->join('kudoscategory', 'kudo
$results = DB::table('kudos')
->select('kudos.description','kudoscategory.catname','kudoscategory.image','kudos.spid')
->join('kudoscategory', 'kudoscategory.id', '=', 'kudos.categoryid')
->where('kudos.spid', '=', $post_id)
->first();
return $results;
我需要做的是使用下面的where条件获得结果
新闻提要\u特殊帖子。main\u post\u id=kudos.spid
您必须添加另一个加入新闻提要\u特殊帖子的链接。
查询将类似于
$results = DB::table('kudos')
->select('kudos.description','kudoscategory.catname','kudoscategory.image','kudos.spid')
->join('kudoscategory', 'kudoscategory.id', '=', 'kudos.categoryid')
->join('newsfeed_special_posts', 'newsfeed_special_posts.main_post_id', '=', 'kudos.spid')
->where('kudos.spid', '=', $post_id)
->first();
return $results;
虽然这对拉威尔来说不是一个好的做法。使用laravel雄辩的关系将更有效地获得这些结果。
您必须添加另一个加入新闻提要\u特殊\u帖子的加入。
查询将类似于
$results = DB::table('kudos')
->select('kudos.description','kudoscategory.catname','kudoscategory.image','kudos.spid')
->join('kudoscategory', 'kudoscategory.id', '=', 'kudos.categoryid')
->join('newsfeed_special_posts', 'newsfeed_special_posts.main_post_id', '=', 'kudos.spid')
->where('kudos.spid', '=', $post_id)
->first();
return $results;
虽然这对拉威尔来说不是一个好的做法。使用laravel雄辩的关系将更有效地获得这些结果。
你仍然可以这样做。由于要从3个表中获取所有记录,因此仍然可以有效地避免sql注入。看到上面的桌子,它没有正常化。不管怎样,我试试这个
$results = DB::table('kudos')
->leftjoin('kudoscategory', 'kudoscategory.id', '=', 'kudos.categoryid')
->leftjoin('newsfeed_special_posts', 'newsfeed_special_posts.id', '=', 'kudos.spid')
->where('kudos.spid', '=', $post_id)
->first();
return $results;
你仍然可以这样做。由于要从3个表中获取所有记录,因此仍然可以有效地避免sql注入。看到上面的桌子,它没有正常化。不管怎样,我试试这个
$results = DB::table('kudos')
->leftjoin('kudoscategory', 'kudoscategory.id', '=', 'kudos.categoryid')
->leftjoin('newsfeed_special_posts', 'newsfeed_special_posts.id', '=', 'kudos.spid')
->where('kudos.spid', '=', $post_id)
->first();
return $results;
你可以试试这个代码
首先,创建模型Kudos、KudosCategory、NewsfeedSpecialPosts
荣誉模型
public function kudoscategory_dta()
{
return $this->belongsTo('App\Model\KudosCategory','categoryid');
}
public function newsfeed_special_posts_dta()
{
return $this->belongsTo('App\Model\NewsfeedSpecialPosts','spid','main_post_id ');
}
控制器
Kudos::with('kudoscategory_dta','newsfeed_special_posts_dta')->first() 您可以尝试此代码
首先,创建模型Kudos、KudosCategory、NewsfeedSpecialPosts
荣誉模型
public function kudoscategory_dta()
{
return $this->belongsTo('App\Model\KudosCategory','categoryid');
}
public function newsfeed_special_posts_dta()
{
return $this->belongsTo('App\Model\NewsfeedSpecialPosts','spid','main_post_id ');
}
控制器
Kudos::with('kudoscategory_dta','newsfeed_special_posts_dta')->first()