小编Xit*_*ish的帖子

如何在 php 中不显示 cURL 响应数据?

我有以下代码对 URL 进行 API 调用。响应是有json格式的。当收到响应数据时,我想使用另一个函数进一步处理数据,而不是在控制台中显示数据(我想仅显示最终处理的输出)。但目前,API 调用的响应与最终处理的输出一起显示在控制台中。

处理后的最终数据将保存在$processedData变量中。

<?php

function getDataFromApi(){
    $url = 'https://www.myurl.com/data.json';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

function processData($data){
    /**
     * Do the processing and save processed data in $processedData variable.
     */

    // Finally display the data
    echo $processedData;
}

$result = getDataFromApi();
processData($result);
Run Code Online (Sandbox Code Playgroud)

如何不显示中间 cURL 响应而仅显示最终响应?

php api json curl

5
推荐指数
1
解决办法
1818
查看次数

Laravel 关系:获取产品的评论和相关用户

我的应用中有UserReviewProduct Models 。
关系是:

  • 用户的hasMany评论
  • 评论属于用户
  • 产品的hasMany评论
  • 评论属于产品

我的表结构是

产品表

id | name | price
Run Code Online (Sandbox Code Playgroud)

评论表

id | review | rating | user_id | product_id 
Run Code Online (Sandbox Code Playgroud)

用户表

id | name |   email | password
Run Code Online (Sandbox Code Playgroud)

当访问特定产品页面时,我想显示该产品的所有评论以及撰写这些评论的用户。所以我试过:

$product = Product::where('id','=',$id)->with('reviews')->with('users')->get();  
Run Code Online (Sandbox Code Playgroud)

当然那没有用,因为ProductUsers.
然后我尝试了Has Many Through关系。在产品型号中:

public function users()
{
    return $this->hasManyThrough('App\User', 'App\Review');
}
Run Code Online (Sandbox Code Playgroud)

这需要表中的一product_idReviews
它还期望表中有一review_idUsers不存在(并且将其放在那里是没有意义的,因为用户可以有很多评论)。

那么这样做的正确方法是什么?

如何获得特定产品的所有评论以及撰写这些评论的用户?

php relationship laravel laravel-5

1
推荐指数
1
解决办法
995
查看次数

标签 统计

php ×2

api ×1

curl ×1

json ×1

laravel ×1

laravel-5 ×1

relationship ×1