Php 雄辩的模型正在以建设者的身份回归

Php 雄辩的模型正在以建设者的身份回归,php,laravel,eloquent,Php,Laravel,Eloquent,我正在用Laravel 7重新学习Laravel,遇到了一个问题,我无法查询数据库表中的记录。因此,不要像$test=test::那样调用通过_id_和_name(1,'test1')查找_(还有$test=test::where('id',1);返回一个illunate\Database\Eloquent\Model类它返回一个Illuminate\Database\Eloquent\Builder类 我已经为一个名为Tests的表创建了一个迁移,并为它添加了几行测试数据 <?php

我正在用Laravel 7重新学习Laravel,遇到了一个问题,我无法查询数据库表中的记录。因此,不要像
$test=test::那样调用通过_id_和_name(1,'test1')查找_
(还有
$test=test::where('id',1);
返回一个illunate\Database\Eloquent\Model类它返回一个Illuminate\Database\Eloquent\Builder类

我已经为一个名为Tests的表创建了一个迁移,并为它添加了几行测试数据

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Test extends Model
{
    protected $guarded = [];
    use SoftDeletes;

}
有人知道我为什么没有得到所需的模型吗?比如,我可以做一个
dd($test);
查看数据库中id为1的行的值,或者甚至做一个
echo($test->name);
查看该项的名称

谢谢

*附加* 应该指出,我最初的代码有Test::find_by_id_和_name(1,'Test 1');但这不起作用,并引发了一个关于查找类的异常。我修改了if with where和更高版本,因为它是where('id',1);(我已经使用我最初的find_by code更正了代码)。添加了get()或者任何其他东西现在返回null。我已经验证了数据库包含表tests,并且存在id和名称为“test1”的项

*结果*
最终的根本问题是数据,url中有https:://(附加冒号),因此它确实会返回null。感谢大家帮我找到原因。

尝试使用以下方法

$test = Test::find(1);

然后您将在
Laravel
中获得记录,

对查询生成器与模型的误解。请查看参考

对模型静态调用查询生成器方法将返回一个生成器

User::where('id', 1); // returns builder
要解析查询生成器,可以使用
get()
first()

您还可以从集合中提取用户。不建议这样做,因为您最好只调用
first()

Laravel
具有按id查找模型的静态方法

User::find(1); // returns user or null
User::findOrFail(1); // returns user or exception

在where子句之后附加
->first()
->get()
,例如
Test::where(1)->first()
在下面的答案中添加一个链接也很好:我已经根据你们的评论更新了我的问题。尽管表和数据行都存在,但我现在得到空值。我很高兴你们把“[…]放在不推荐的位置”对于
->get()->first()
集合
(get()的结果)有一个
->first()
方法,但很少有情况下你需要使用这种方法。@TimLewis我也觉得很高兴知道你可以,了解收藏是什么,当我第一次开始学习如何做事情时,花了一些时间,这很难。哈哈,是的,当然:)更多的知识总是好的,但知道何时不使用上述知识的智慧也是如此:P
User::where('id', 1)->get(); // Returns a collection of users with 1 element.
User::where('id', 1)->first(); // Returns one user.
User::where('id', 1)->get()->first(); // Returns collection fetches first element that is an user.
User::find(1); // returns user or null
User::findOrFail(1); // returns user or exception