如何打开所有模型的softDelete,而不必在每个模型中指定以下内容:
use Illuminate\Database\Eloquent\SoftDeletingTrait;
class ListItem extends Eloquent
{
use SoftDeletingTrait;
protected $table = 'list_items';
protected $dates = ['deleted_at'];
public function product(){
return $this->
我有一个叫做Bar的模型,它扩展了Laravel的Eloquent
class Bar extends Eloquent{
}
现在的问题是,我需要在多个表之间进行一些连接,为此,我想使用Laravel的DB类来提高性能(使用eloquent最终花费了我大约750个查询和20秒的加载时间)。
我可以在扩展Eloquent的同一模型中使用DB吗?
如果没有,我应该创建另一个模型吗?
我想在Laravel5.5应用程序中使用。告诉我们要使用:
use Jenssegers\Mongodb\Eloquent\Model;
class User extends Model {}
而不是:
use Illuminate\Database\Eloquent\Model;
class User extends Model {}
但是,在User模型中:
class User extends Authenticatable{}
在“照明\基金会\Auth\User”类中(“身份验证”指的是什么),它使用的是Illuminate\Database\Eloquent\Model而不是Jen
嗨,伙计们,我正在使用jessengers mongodb扩展,我已经有了mongodb扩展,问题是它显示了被保护的属性,我的代码是:
模型:
<?php
namespace App;
use Jenssegers\Mongodb\Model as Eloquent;
use \Jenssegers\Mongodb\Eloquent\SoftDeletes;
class Pessoas extends Eloquent
{
public $guarded = ['password'];
public $fillable = ['nome
我在laravel只有三天大,昨天我尝试使用eloquent创建一个身份验证系统,所以我没有看就删除了默认的User模型,然后我尝试根据我从文档中读到的内容创建我自己的模型。按照我学习和理解的方式设置好所有内容后,我尝试运行我的应用程序,但每当我输入正确的用户名和密码时,我都会收到此错误消息
Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials()
must be an instance of Illuminate\Auth\UserInterface, instance of User
我在Laravel应用程序中使用` `MongoDB作为数据库驱动程序,使用composer包:
默认情况下,Laravel模型扩展了Illuminate\Database\Eloquent\Model类。
但是当我使用MongoDB then my models must extend the Jenssegers\Mongodb\雄辩\Model`‘类而不是默认的Laravel类时。
现在如何替换Laravel默认的扩展模型类Laravel\Sanctum\PersonalAccessToken到Jenssegers\Mongodb\Eloquent\Model。
示例
<?php
开箱即用,laravel 5.2附带了几个ORM类。最值得注意的是,其中之一是User ORM类。大多数对象关系管理模型都必须扩展Illuminate\Database\Eloquent\Model,它看起来像这样:
use Illuminate\Database\Eloquent\Model;
class Articles extends Model {
...
但是,如果您想要使用任何身份验证功能,则用户模型必须扩展Illuminate\Foundation\Auth\User。这通常被视为类似于以下内容:
use Illuminate\Foundation\Auth\User as Au
Laravel4.2中的默认RemindableInterface用户模型实现了UserInterface和UserInterface,但是在查看我的用户模型的定义后,在两个接口上定义的方法都没有在用户模型上实现。
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent
我正在做一个游戏,我目前正在做的管理部分,以增加游戏和水平。
我有一个带有“订单”列的透视表引用的游戏和级别。
我的游戏模型:
class Game extends Eloquent {
public function levels() {
return $this->belongsToMany('Level')->withPivot('order');
}
}
我的水平模型:
class Level extends Eloquent {
public function game() {
r
我正在尝试使用Laravel,并且一直在跟踪官方的Laravel雄辩的和可信来源的多篇教程。
我在app/ model中创建了一个名为Stack的模型,数据库中有一个名为堆栈的表,其中包含一个名为id的主键列,对应于Laravel的默认值。
<?php (Stack.php)
class Stack extends Eloquent
{
}
$stacks = Stack::all();
然而,当我运行这个模型时,我会得到以下错误消息。
Fatal error: Class 'Eloquent' not found in C:\www\laravelproject
我正在尝试在Laravel之外使用。通过遵循这个repo ,我成功地在我的项目中使用了Eloquent模型。但是,我设置了启动方法,那么它就不会被调用。
Encapsulator.php
<?php namespace App\Eloquent;
use Illuminate\Container\Container;
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Events\Dispatcher;
class Encapsulator
{
private static $conn;
我需要你的帮助,我在Laravel框架之外使用Eloquent和enssegers / laravel-mongodb,我已经成功地正确配置了Eloquent和laravel-mongodb,并且它可以正确地插入和获取结果,但是,当试图修改注册表时,eloquent会抛出以下错误,从而丢失连接名称: Argument 1 passed to Jenssegers\Mongodb\Query\Builder::__construct() must be an instance of Jenssegers\Mongodb\Connection, instance of Illuminate\Da
我正在尝试测试我创建的模型,我得到了一个错误:
InvalidArgumentException:无法找到默认名称的工厂。
下面是我非常简单的模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function incidents()
{
在Laravel中,我在我的MongoDB数据库中插入一个记录时,得到了这个错误。
对null调用成员函数prepare()
namespace App\Http\Controllers;
use App\Employee;
use Illuminate\Http\Request;
class EmployeeController extends Controller
{
public function create()
{
return view('addemployee');
}
public function store(Reque
我想在Laravel5.3中使用MongoDB。为此,我找到了这个包裹:
我已经在我的机器上安装了MongoDB,并与Laravel建立了数据库连接。
我还能够使用Laravel雄辩和查询生成器运行查询。
唯一的问题是身份验证。
为了将这个包与Laravel一起使用,我们需要在每种模型中扩展它的雄辩类,例如:
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent {}
但是Laravel5.3提供的用户模型已经扩展了身份验证类,PHP不支持多重继承。那么,这里的解决方案是什么?
我更喜
我正在使用腔来开发REST。我用过这两种型号的User和Post。在我的User模型中,我可以使用hasMany()方法获取所有用户的帖子:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// ...
public function posts()
{
return $this->hasMany('App\Post');
}
// ...
得到我所有的用户帖子是非常有帮助的:
return respons
我从laravel 4迁移到了laravel 5,我修改了用户模型,使其与laravel 5用户模型兼容。Laravel 4中的用户模型如下所示:
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
// some model relation functions..
...
public funct
我是Laravel和ORM的新手。在保存任何模型之前和之后,我如何连接到Eloquent来触发代码?我知道我可以为特定的模型做以下事情,但我正在研究如何为每个模型做这件事。
class Page extends Eloquent {
public function save()
{
// before save code
parent::save();
// after save code
}
}
在运行我的数据库种子(以及其他控制台命令)时,我遇到了命名冲突。
我的所有模型都存储在app/Models目录中,并且都存储在App\Models命名空间中。这个目录中有一个名为Model.php的基本模型,它扩展了laravel模型。
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model as BaseModel;
abstract class Model extends BaseModel {}
我的一些模型扩展了这个基类,例如
<?php namespace App\Models;
clas
我有一个模型测试如下
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Test extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
public function __construct() {
if (!\App::environment('production')) {
$this-&g
我的桌子
Modelos
id
鼻涕虫
marca_id
Pecas
id
编迪戈
modelo_peca
modelo_id
peca_id
produtos
id
categoria_id
编迪戈
诺姆
范畴
id
诺姆
弹状物
我有这些模型
class Modelo extends Eloquent
{
public function pecas()
{
return $this->belongsToMany('Peca');
}
}
class Peca extends Eloquent {
public funct
我们正在开发一个具有调度模块的Laravel应用程序。该模块有三种类型的类可以放在一个议程:任务,事件和部门。因此,我们得出了以下类图:
现在,我们的问题是:如果我们要意识到这个图表,我们应该使用一个特性,还是应该扩展一个可规划的模型。
可规划模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Plannable extends Model
{
// Code
}
任务模式:
<?php
namespace App;
use App\Plannable;
class Ta
我有两张桌子如下所示:
users表:
id - fname - lname
users_projects表:
id - user_id - title
我的模型在一个名为Models的目录中
Users模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
//
public function usersProjects()
{
return $this->belongsTo(UsersProjects::cl
我正在尝试让babenkoivan/scout-elasticsearch-driver与Laravel 6.6合作 我正在升级旧的安装,但是安装了新的软件包,按照说明进行了设置,清除了缓存,并检查了模型是否需要 use ScoutElastic\Searchable;
use Illuminate\Database\Eloquent\MyModel; 和 use Searchable; 然而,我得到的是: MyModel::search('*')->... 是: Call to undefined method App\MyModel::search() 另外,如果我
我按照教程创建了一个用户模型。我希望创建一个超类,以便每个模型都具有相同的时间戳值和范围方法。创建一个超类是正确的方法吗?如何在Codeigniter中扩展自定义的雄辩模型?
我有以下的想法,但我坚持自定义模型扩展部分。
CustomModel.php:
use \Illuminate\Database\Eloquent\Model as Eloquent;
class CustomModel extends Eloquent {
protected function getDateFormat() {
return 'U';
}
pr
因此,当使用Laravel8.x中引入的新模型工厂类时,我们会发现一个奇怪的问题,即laravel找不到与模型相对应的工厂。我知道这个错误
PHP Error: Class 'Database/Factories/BusinessUserFactory' not found in .....
我跟踪了拉拉医生,我不知道发生了什么事
下面是BusinessUser类
<?php
namespace App;
use Database\Factories\BusinessUserFactory;
use Illuminate\Database\Eloquent\Fact
是否可以在运行时扩展或使用不同的类?
例如:假设我们有一个名为model的Player (我们的A -model)
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Player extends Model{
}
我们还有另外两个模型(B和C模型)
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
protected $connection= 'db_b';
class Pla
我可以在没有任何n+1问题的情况下,急切地加载多态关系/模型。但是,如果我试图访问与多态模型相关的模型,就会出现n+1问题,而且我似乎找不到修复方法。下面是在本地查看它的确切设置:
1) DB表名称/数据
history
companies
products
services
2) 模型
// History
class History extends Eloquent {
protected $table = 'history';
public function historable(){
return $this-&
我有一个数据库,其中有一个名为files的表。在这其中,我们有以下结构-
- id
- parent_id (nullable)
- name
- type (enum: File or Folder)
- created_at
- updated_at
然后我就有了两个模型,一个叫做File,一个叫做Folder。Folder扩展了File。例如,当我调用File::all(),时,有没有一种方法可以利用Eloquent根据数据库type字段映射相应的模型?
当中间层(hasOneThrough)有软删除时,如何获取时隙的所有关系记录。
1.考勤模型Attendance.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Attendance extends Model
{
protected $fillable = [
'tutor_id',
'center_timeslot_id',
// other attributes are ommit