从 api 获取空白数据,即使数据可用于在数据库中获取

Posted

技术标签:

【中文标题】从 api 获取空白数据,即使数据可用于在数据库中获取【英文标题】:get blank data from api even data is available for fetch in database 【发布时间】:2020-05-26 18:27:33 【问题描述】:

大家好,现在我正在开发 laravel 项目,在这个项目中,我制作了 2 个 api,其中一个运行得很好,就像我从数据库中准确获取所有数据一样,但是在第二个 api 中,我得到空白数据意味着两个 api 都没有相同但只是从一个 api 我从 ID 获取数据,在第二个 api 我从电子邮件获取数据请帮助我。

这是我的 api.php 代码

<?php

use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user', function (Request $request) 

    return $request->user();
);
// routes/api.php
// POST /api/post?api_token=UNIQUE_TOKEN
Route::post('post', 'Api\PostController@store')->middleware('auth:api');
Route::get('/getemail/"email"','EmailController@databyemail');


and it's my EmailController Code

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\email;

class EmailController extends Controller

    public function databyemail($email)

    $data = new email();

    $data = email::find($email);

    return response()->json($data);

and finally it is my email model code

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class email extends Model

    protected $table = 'users';
    protected $fillable = ['surname','first_name','last_name','username','email','password','language','contact_no','address','remember_token','business_id','status'];

请帮助我为什么我没有从数据库中得到任何东西

提前致谢

【问题讨论】:

【参考方案1】:

我认为你应该修复你的路线,你不需要为变量使用“”标记。

Route::get('/getemail/email','EmailController@databyemail');

就这样使用吧。

另外,find 可以与主键一起使用,

代替:

$data = email::find($email);

用途:

$data = email::where('email', $email)-&gt;first();

【讨论】:

$data = email::find($email);您正在使用 $email 进行查找,您只能在查找中使用主键,而不是使用 $data = email::firstWhere('email', $email); 亲爱的,当我写 $data = email::firstWhere('email', $email);并删除 $data = email::find($email);所以我得到 500 的错误 那就试试吧,$data = email::where('email', $email)-&gt;first(); 谢谢你,亲爱的,它的工作就像一个魅力,非常感谢你让我开心 好吧,我还有一个关于这个问题的疑问,你能回答我吗?或者我需要创建新问题

以上是关于从 api 获取空白数据,即使数据可用于在数据库中获取的主要内容,如果未能解决你的问题,请参考以下文章

我尝试从 multipart api 上传文件和文本数据,但即使我使用 multer 也无法获取文件

使用 alomafier 请求调用 api 在响应中获取数据,但在请求下方它会变为空白

用于从 api 获取 json 数据的 url 格式

Flutter - 无法将所有 json 数据从 api 响应保存到 Iterable List 编辑:(无法从可迭代列表中获取数据)

创建用于从 API 获取数据的 altjs 通量存储

哪个 url 用于从 api 3.0 上的用户获取 youtube 上传视频的 json 数据