gpt4 book ai didi

php - MySQL 在 PHP 上使用外键显示结果

转载 作者:行者123 更新时间:2023-11-29 16:51:17 26 4
gpt4 key购买 nike

我有一个用户和作品集表,我希望在其中显示用户的姓名和作品集标题,但是该名称只能使用用户 ID 检索,我不知道如何在 PHP 上获取信息以到达其他数据库表。

USER
id | user_fname | user_lname
01 | John | Smith
02 | Katherine | Blair

PORTFOLIO
id | portfolio_title | portfolio_user_id
19 | ClassRoom | 02
20 | RemoteIsland | 02
21 | MilkTown | 01

现在在我的 PHP 文件中,

if( $request->has('s_c'))
{
$categoryid = $request->s_c;
$results = DB::table('portfolio')
->leftJoin('portfolio_images', 'portfolio.id', 'portfolio_images.p_portfolio_id')
->where('portfolio_user_id', 'like', "%".$search_text."%")
->orwhere('portfolio_title', 'like', "%".$search_text."%")
->groupBy('portfolio.id')
->orderBy('portfolio.portfolio_added_date', 'DESC')
->paginate(12);

if($categoryid != '')
$results = $results->where('portfolio_category', $categoryid);
}
else
{
$results = DB::table('portfolio')
->leftJoin('portfolio_images', 'portfolio.id', 'portfolio_images.p_portfolio_id')
->where('portfolio_user_id', 'like', "%".$search_text."%")
->orwhere('portfolio_title', 'like', "%".$search_text."%")
->groupBy('portfolio.id')
->orderBy('portfolio.portfolio_added_date', 'DESC')
->paginate(12);
}

return view('./frontend/portfoliotest', [
'categories' => $categories,
'results' => $results
]);

这将显示它,例如

02  ClassRoom
02 RemoteIsland
01 MilkTown

但我希望它也能进入用户表以获取

Katherine Blair  ClassRoom
Katherine Blair RemoteIsland
John Smith MilkTown

我使用 $result 来显示 PORTFOLIO 表中的信息,但是如何获取用户的 fname 和 lname 而不是 ID 的显示

最佳答案

您应该加入用户表并选择您需要的属性。您可以将这段代码添加到查询中:

->join('users', 'users.id', '=', 'portfolio.portfolio_user_id')
->select('users.*', 'portfolio.portfolio_title')

正如 select 方法所示,结果为 user_fname、user_lname、portfolio_title

关于php - MySQL 在 PHP 上使用外键显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52800965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com