我是laravel的初学者,在uni,我们的任务是从一个名为pms.php的文件中检索数据,该文件包含总理的所有结果,如姓名、年份和州。无论我做什么,我都不能让它工作。
这是我的web.php文件:
require(app_path().'/pms.php');
// To do: Display search form
Route::get('/', function()
{
return view('search_form');
});
// To do: Perform search and display results
Route::get('search', function()
{
//$name = request('name');
//$year = request('from', 'to');
//$state = request('state');
$pms = search('name','from','to','state');
return view('search')->with('name', $pms)
->with('from', $pms)->with('to', $pms)->with('state', $pms);
});
/* Functions for PM database example. */
/* Search sample data for $name or $year or $state from form. */
function search($name, $year, $state) {
$pms = getPms();
// Filter $pms by $name
if (!empty($name)) {
$results = array();
foreach ($pms as $pm) {
if (stripos($pm['name'], $name) !== FALSE) {
$results[] = $pm;
}
}
$pms = $results;
}
// Filter $pms by $year
if (!empty($year)) {
$results = array();
foreach ($pms as $pm) {
if (strpos($pm['from'], $year) !== FALSE ||
strpos($pm['to'], $year) !== FALSE) {
$results[] = $pm;
}
}
$pms = $results;
}
// Filter $pms by $state
if (!empty($state)) {
$results = array();
foreach ($pms as $pm) {
if (stripos($pm['state'], $state) !== FALSE) {
$results[] = $pm;
}
}
$pms = $results;
}
return $pms;
}这是我的search.blade.php文件
@extends('layouts.master')
@section('title')
Query Search Result
@endsection
@section('content')
Search result for {{ $name }} {{ $year }} {{ $state }}
@endsection这是我的search_form.blade.php
@extends('layouts.master')
@section('title')
Search Form
@endsection
@section('content')
<p>
<h2>Australian Prime Ministers</h2>
<h3>Query</h3>
<form method="get" action="search">
{{csrf_field()}}
<table>
<tr><td>Name: </td><td><input type="text" name="name"></td></tr>
<tr><td>Year: </td><td><input type="text" name="year"></td></tr>
<tr><td>State: </td><td><input type="text" name="state"></td></tr>
<tr><td colspan=2><input type="submit" value="Search">
<input type="reset" value="Reset"></td></tr>
<table>
</form>
</p>
@endsection你们知道为什么它不工作吗?我现在面临的问题是:
htmlspecialchars()要求参数1为字符串,给定的数组(视图: /home/ubuntu/workspace/Week4/assoc-laravel/resources/views/search.blade.php)
发布于 2018-08-09 12:07:38
在compact()中发送数据,返回View::make('foo.bar')
->with(紧凑(‘test’));
或推荐的压缩返回视图(‘foo.bar’,-> (‘your_php_variable’))
https://stackoverflow.com/questions/51757721
复制相似问题