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

标签 php mysql laravel orm

我有一个用户和作品集表,我希望在其中显示用户的姓名和作品集标题,但是该名称只能使用用户 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/

相关文章:

laravel - Laravel Eloquent 如何在一张表中保存多条记录(无关系)

php - Laravel 6:调用未定义的方法 App\\User::createToken()

mysql - SELECT DISTINCT 在 MySQL 中如何工作?

mysql - 如何在 Visual Studio 2010 中连接到 MySQL 5.1?

php - 关于此 PHP 脚本的输入以查询 mysql 数据库?

php - Hiphop for PHP 等工具如何处理异构数组?

MySQL:如何在从另一个表获取的每个间隔之间从一个表中选择行

php - 将 PHP 变量插入 EloquentWhereRaw SQL 中

javascript - 如何显示/隐藏带有 <?php?> 的 <div>

php - PHP 中的可变变量