php - 如何使用 `where` 子句在 Laravel 5 中执行连接?

标签 php mysql laravel laravel-5 query-builder

我有一个表,offers,其中包含已购买商品的 id 购买。该项目存储在另一个表 items 中。为了响应 GET 请求,我想返回包含购买的完整项目对象。我该怎么做?

public function getBuys(Request $request)
{
    $usr_id = $request->input('usrid');

    $buys = Offer::where('buyer_id', '=', $usr_id)->get();
    return response()->json($buys);
}

最佳答案

现在您得到的是用户提供的所有报价(购买)是否正确?如果您想获得包含所有报价的特定商品(假设您在商品模型中设置了 realtionship):

$item = Item::->with('offers')->find($itemId);

编辑 如果您在 Offer 模型中有这种关系:

public function item()
{
    return $this->hasOne('App\Item');
}

你可以这样做:

$buys = Offer::with('item')->where('buyer_id', '=', $usr_id)->get();

关于php - 如何使用 `where` 子句在 Laravel 5 中执行连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30155834/

相关文章:

mysql - 更改sql文件中的字符

php - 在 Laravel 问题中使用多个值绑定(bind)插入查询

jquery - Laravel 5 AJAX 500 发布错误

php - 带有 Analytics 的页面计数器,其中数据存储在 MySQL 数据库中

php - 如何从MySQL字段中获取Json字符串包含双引号错误

javabridge 设置/安装问题

mysql - CURRENT_TIMESTAMP 在 h2 中以毫秒为单位

javascript - 如何开始和结束日期和时间范围选择器?

php - Laravel addOrUpdate() 基于相关表值?

javascript - 使用 Firebase Storage 和 Dropzone 通过 JavaScript 上传