首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雄辩的ORM所有()没有归还任何东西

雄辩的ORM所有()没有归还任何东西
EN

Stack Overflow用户
提问于 2015-02-04 15:49:01
回答 3查看 1.2K关注 0票数 0

如果这是个愚蠢的问题,就把我打倒,但我真的很难让这个all()函数为我工作。这是给我的空名单。任何帮助都将不胜感激。我在通讯表中有两行

模特看起来是这样的-

代码语言:javascript
复制
<?php

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

class Newsletters extends Eloquent {

//use UserTrait, RemindableTrait;
use SoftDeletingTrait; // <-- Use This Insteaf Of protected $softDelete = true;


/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'newsletters';

/**
 * The attributes excluded from the model's JSON form.
 *
 * @var array    */


protected $guarded = array('newsletterId');
protected $fillable = array('name', 'subject','from_email','from_name');

public static $rules = array(
    'name' => 'required|min:5',
    'subject' => 'required|min:5',
    'from_email' => 'required|email',
    'from_name' => 'required'
);

}

我在控制员的电话是这样的-

代码语言:javascript
复制
<?php

class newslettersController extends \BaseController {

/**
 * Display a listing of the resource.
 *
 * @return Response
 */
public function index()
{
    //$newsletters = Newsletters::paginate(3);      
    $newsletters = Newsletters::all();
    echo $newsletters;exit();
    return View::make('newsletters.index', compact('newsletters'));
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-04 16:06:20

0000-00-00 00:00:00列中的任何值--甚至是deleted_at --都会告诉Laravel该项目已被删除。将该列的默认值更改为NULL,否则新项目在创建时将被标记为“已删除”。

如果您在迁移中使用$table->softDeletes()模式函数,它将自动执行此操作。

票数 4
EN

Stack Overflow用户

发布于 2015-02-04 16:07:47

一旦使用了NULL,就会将全局范围应用于模型中的每个查询,因此所有deleted_at位于而不是的记录都将被忽略。

Illuminate\Database\Eloquent\SoftDeletingScope

代码语言:javascript
复制
public function apply(Builder $builder)
{
    $model = $builder->getModel();

    $builder->whereNull($model->getQualifiedDeletedAtColumn()); // <<-- this

    $this->extend($builder);
}

deleted_at列的默认值更改为NULL,并将现有记录也更新为NULL

票数 2
EN

Stack Overflow用户

发布于 2015-02-04 16:12:26

如果您确信,正如@Ray所说,时事通讯是正确的表名。试试这个:

代码语言:javascript
复制
$newsLetters = DB::table('newsletters')->get();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28325571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档