php 我有这个错误当我在postman发送后请求

ndasle7k  于 2023-01-24  发布在  PHP
关注(0)|答案(3)|浏览(139)

我得到错误当我发送请求在post方式
错误:错误异常:文件中未定义数组键“value
THW代码:

public function search(Request $request) {
    $request = $request->all();

    $models = Course::query()
            ->where('title', 'like', '%' . $request['value'] . '%')
            ->where(['deleted' => '0'])
            ->get();
    return response()->json($models);
}
bcs8qyzn

bcs8qyzn1#

把你的$request倒出来看看,比如:

dd($request);

您可能希望访问如下所示的值:

$request->input('value');

而不是试图将其作为数组来访问。

yk9xbfzb

yk9xbfzb2#

您可以进行以下更改,以便它基于给定的动态工作

public function search(Request $request)
    {
        $request = $request->all();

        $models = Course::query()
            ->when(array_key_exists('value', $request), function ($query) use ($request) {
                $query->where('title', 'like', '%' . $request['value'] . '%');
            })
            ->where(['deleted' => '0'])
            ->get();
        return response()->json($models);
    }

在这里,我们使用when语句来检查这个键是否存在,如果不存在,它将不会使用这个特定键执行,否则它将按预期工作。

when(array_key_exists('value', $request), function ($query) use ($request) {
            $query->where('title', 'like', '%' . $request['value'] . '%');
        })

你也可以修改***when***语句,或者如果你想要更多的条件语句,你也可以把它们附加到上述语句中。

3ks5zfa0

3ks5zfa03#

删除一行并使用

&request->value;

像这样

public function search(Request $request) {
$models = Course::query()
        ->where('title', 'like', '%' . $request->value . '%')
        ->where(['deleted' => '0'])
        ->get();
return response()->json($models);
}

相关问题