在 Controller 中,我试图从表中获取数据,然后将其传递给 View 。
//controller
public function view($id)
{
$contact = Contact::where('id', $id);
return view('contact.edit', ['contact' => $contact]);
}
//view
@foreach($contact as $key=>$value)
{{ $value }}
@endforeach
但我得到的只是空页面,如果我尝试用 {{ $contact->first_name}}
回显值,我只会收到错误 Undefined property: Illuminate\Database\Eloquent\生成器::$first_name
.
我也尝试使用 find 方法,但得到了相同的结果。
表架构:
CREATE TABLE `contacts` (
`id` int(11) NOT NULL,
`first_name` varchar(25) NOT NULL,
`last_name` varchar(25) NOT NULL,
`email` varchar(35) NOT NULL,
`home_phone` int(10) DEFAULT NULL,
`work_phone` int(10) DEFAULT NULL,
`cell_phone` int(10) DEFAULT NULL,
`best_phone` enum('home_phone','work_phone','cell_phone') NOT NULL,
`address_1` varchar(100) DEFAULT NULL,
`address_2` varchar(100) DEFAULT NULL,
`city` varchar(35) DEFAULT NULL,
`state` varchar(35) DEFAULT NULL,
`zip` int(6) DEFAULT NULL,
`country` varchar(35) DEFAULT NULL,
`birth_date` date DEFAULT NULL,
`manager` int(11) UNSIGNED NOT NULL
);
最佳答案
Contact::where('id', $id)
仅使用查询生成器准备查询。您尚未执行查询或检索任何结果。
Contact::where('id', $id)->first()
将执行查询并检索第一个结果,尽管 id
可能是主键,Contact::find($id)
是获取与该 id 匹配的第一个结果的更快方法。
关于php - 从数据库中获取数据并传递给 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53283610/