小编zed*_*dee的帖子

Laravel Eloquent :: Find()使用现有ID返回NULL

这很简单,因为它是最基本的东西,但我不知道我错过了什么:

有一个模型叫 Site

我正在使用Eloquent ORM,所以当我打电话时(在控制器中)

$oSite = Site::find(1)
Run Code Online (Sandbox Code Playgroud)

然后

var_dump($oSite);
Run Code Online (Sandbox Code Playgroud)

它返回一个值NULL.

但是当我检查数据库时,表'sites'实际上包含以下项目:

id: 1
user_id: 1
name: test
Run Code Online (Sandbox Code Playgroud)

在我的Site 模型中,我有以下代码:

use Illuminate\Database\Eloquent\ModelNotFoundException;

 Class Site extends Eloquent {

        protected $table = 'sites';

        protected $fillable = ['user_id', 'name'];
 }
Run Code Online (Sandbox Code Playgroud)

相反,如果我收集以下项目:

$oSite = DB::table('sites')
                ->where('id', 1)
                ->first();
Run Code Online (Sandbox Code Playgroud)

它工作正常,我得到了正确的注册.

我做错了什么?我没有得到哪部分文件?

编辑:

可以在上面检查模型代码.

控制器:

use Illuminate\Support\Facades\Redirect;
class SiteManagementController extends BaseController {

...

    public function deleteSite()
    {
        if (Request::ajax())
        {
            $iSiteToDelete = Input::get('siteId');

            $oSite = Site::find($iSiteToDelete);

            return var_dump($oSite);
        }
        else
        { …
Run Code Online (Sandbox Code Playgroud)

php orm find laravel eloquent

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

eloquent ×1

find ×1

laravel ×1

orm ×1

php ×1