如何从Laravel中的表中仅检索行

时间:2019-06-13 19:11:02

标签: php

我是laravel的新手,我正在开发一个应用程序,在我的系统上注册时,我需要显示该人的名字和姓氏。但是我发现很难做到这一点,但是如果我使用实例$ contact = contacts :: all();

,我的代码将从我的表中检索所有名字和姓氏。

我的名为contact的表具有fname,lname,email,phone,body,updated_at等字段。

我尝试使用... all()-> pluck()仅选择名字和姓氏,但是我的视图显示了表中的所有名字和姓氏。我可以在我的观点中做到这一点,但在控制器中需要您的帮助。

这是我的控制人

$contact =contacts::all()->pluck('lname','fname'). 

任何有想法的人

2 个答案:

答案 0 :(得分:1)

-> contacts :: all()---这将生成联系人模型中的所有数据

-> contacts :: first()---这将仅导致单行。请为此添加一个where条件以获得所需结果。 例如contact :: where('name','=','abc')-> first();

答案 1 :(得分:0)

contacts::all()将检索每一行。如果要将选择限制为仅具有特定姓氏/名字的联系人,则将要使用whereget(),它们只会得到那些特定的行:

$fname = 'John';
$lname = 'Doe';
contacts::where('fname', $fname)->where('lname', $lname)->get();

这两个变量当然会用您要查找的内容填充。如果要检查是否等于,LIKE(适用于不区分大小写的搜索或通配符搜索),或者大于/小于数字和日期,也可以将比较作为第二个参数传递。

contacts::where('fname', '=', $fname)->where('lname','=', $lname)->get();

请注意,这将调出所有人的名字John |母鹿可能不是刚刚注册的人。为此,您需要将用户ID保存在某个位置,例如在用户注册后的会话中,而是寻找该ID,该ID仅显示1条记录,而不是get()提供的记录集合

contacts::find($id);