考虑以下代码:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
/**
* Class MyModel
* @package App\Models
* @mixin Builder
*/
class MyModel extends Model
{
public static function getGreens(): Builder
{
return (new self())-&
这是我的范围,apply()方法工作得很好。
use Illuminate\Database\Eloquent\ScopeInterface;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class JobStatusScope implements ScopeInterface
{
/**
* Apply scope on the query.
*
* @param \Illuminate\Da
我为用户模型添加了外部范围。简单地创建范围,名称为DeveloperScope
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Auth;
class DeveloperScope implements Scope
{
public function apply(Builder $builder, Model $model)
{
if(Auth::user()
我们正在开发一个基于Laravel Spark的应用程序。作为其中的一部分,我们希望将资源绑定到一个特定的团队。 我知道我们可以添加一个全局作用域,例如: <?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class TeamScope implements Scope
{
/**
* Apply the scop
我想用我自己的类替换Laravel构建器类,这是从它扩展出来的。我原以为这会像App::bind一样简单,但似乎不起作用。我应该把装订放在哪里?在Laravel,怎样才是正确的方法?
这就是我尝试过的:
我的Builder
use Illuminate\Database\Eloquent\Builder as BaseBuilder;
class Builder extends BaseBuilder
{
/**
* Find a model by its primary key.
*
* @p
我是拉勒维尔的新手。
我有两张互相关联的桌子。
当其他相关表记录被软删除时,我希望将null设置为相关表记录。
当其他相关表记录时,我知道如何进行软删除,但如何设置null而不是软删除?
产品模型(编辑)
class Product extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
public $table = "products";
public function projects()
{
return $thi
我上过这门课
<?php
namespace App\Models\Tables;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Facades\DB;
class ZipCode extends Model
{
protected $table = 'zip';
public $timestamps = false;
protected $fillable = [
我正在使用雄辩的结合Slim框架来构建一个小的API。由于某种原因,我得到了这个错误,我找不到问题所在:
Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable.
数据库设置是正确的。此错误将在服务器上的暂存环境中引发。在本地,使用MySQL 5.6.29,它运行得非常完美。虽然我不认为它与MySQL 5.7相关,因为我有另一个应用程序运行在同一台服务器上,使用相同版本的雄辩器。
谁能给我指明正确的方向?
我在用:
雄辩版本:5.3.23
PHP版本:5.6.28
数据库驱动程序和版本: My
我想要创建一个动态菜单,带有子菜单。将是Level1,Level2,Level3。
但是我得到了这个错误:调用未定义的方法Illuminate\Database\Query\Builder::has_many()和调用未定义的方法Illuminate\Database\Query\Builder::has_many() (View: Illuminate\Database\Query\Builder::has_many)
到目前为止,这就是我所拥有的:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class W
我需要应用特定的全局范围,只有在经过身份验证的用户的角色等于某物的情况下。因此,具有特定角色的用户只能对给定的记录子集执行查询。
我可以轻松地处理用户模型(当前登录的用户),但不能在作用域的应用方法中处理。
作用域构造函数在auth中间件运行之前很早就执行了。在应用方法中解析用户,而不是在构造函数中解析用户。
好的,我在apply方法中:
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illumin
我想在Laravel5.7中注册一个新的全局范围,但是我得到了以下错误:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_PARSE)语法错误,意外的“静态”(T_STATIC)
<?php
namespace App;
use Auth;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Order extends Model
{
use SoftDe
我已经为这个项目安装了一个每个项目的Homestead,所以我不会将RethinkDB添加到我所有的Laravel应用程序中。我已经非常容易地在Homestead中设置了RethinkDB,并迁移了数据库表,但我似乎无法为它们添加种子。运行php artisan db:seed会在终端中引发此错误:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Fatal error: Call to a member function prepare() on null
Laravel.log中的这个错误:
[2016-02-11 02:15
Laravel4.1似乎删除了异常--“类DateTime的对象无法转换为字符串”--每当db种子出现问题时。
例如,假设我运行这个播种机:
use Faker\Factory as Faker;
class OrdersTableSeeder extends Seeder {
public function run()
{
$f = Faker::create();
foreach(range(1, 10) as $index)
{
$c = Customer::leftJoin('orde
我有这样的顾客桌
id
name
另一个像这样的表策略
id
policy_name
还有另一个像这样的表policy_customer
id
customer_id
policy_id
在我的客户模型中,我这样写过
protected $appends = ['policy_customer'];
public function policy_customer() {
return $this->hasOne('App\Models\PolicyCustomer', "customer_id",
我很难让larastan / phpstan明白query()应该基于Company模型,而不是Eloquent\Model。我遗漏了什么?
<?php
namespace App\Repositories;
use App\Models\Company;
/**
* @extends AbstractBaseRepository<Company>
*/
class CompanyRepository extends AbstractBaseRepository
{
public function __construct()
{
pa
嗨,我正在试图查询我的数据库中表之间的关系。快速概述我的应用程序,我有users,tasks,projects,tasks,statuses和优先级。目前,我希望返回具有客户端名称和状态名称的auth用户项目,可以使用db表中的相关id检索它们。
我几乎正确地返回了所有这些信息,例如,如果我使用项目和客户端查询Auth用户,返回的数据也是正确的,那么我将在回购中进行查询,并让我的控制器使用以下内容:
public function getUserProjectswithClients()
{
return \User::with(array('projects&
我将laravel从5.4升级到5.6.23,并使用这样的雄辩模型
<?php namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Category extends Model
{
use SoftDeletes;
}
我在控制器中调用了带杂碎函数的类别
<?php namespace App\Http\Controllers\Backend;
use Illuminate\Http\Reques
用户可以互相阻止。一个用户可以阻止多个(其他)用户,一个用户可以被多个(其他)用户阻塞。在User模型中,我有这些多到多的关系:
/**
* Get the users that are blocked by $this user.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function blockedUsers()
{
return $this->belongsToMany(User::class, 'ignore_lists', '
嗨,我用了版本1.16的Laravel5.4。
实际上,我已经使用了包中提供的LogsActivity特性来记录模型事件,并且我的大多数模型都是正确记录的。除了我在下面创建的一个模型。
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Functions;
use Carbon;
use Spatie\Activitylog\Traits\LogsActivity;
class RoomClassServiceCharge extends Model
{
use LogsActiv
我正在使用Laravel spark,并且通过使用在特征中实现的作用域来限制团队对模型的访问 namespace App\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class TeamScope implements Scope
{
/**
* Apply the scope to a given Eloquent query builder.
我从PHP开始,并试图为一个雄辩的模型构建一个模型,这个模型是__construct方法中作为类测试所需的依赖项。
这是我要测试的类的构造函数:
namespace App\Repository\Link;
use App\Repository\RepositoryAbstract;
use Illuminate\Database\Eloquent\Model;
class EloquentLink extends RepositoryAbstract implements LinkInterface
{
protected $link;
public function
因此,我试图在Laravel5.1中创建一个全局范围,但是继续获取以下错误Trait 'Eloquent\Scopes\DependentTypeTrait' not found。
这是我的代码:
App\Models\Eloquent\Scopes\DependentTypeTrait.php:
<?php namespace App\Models\Eloquent\Scopes;
trait DependentTypeTrait {
/**
* Boot the Active Events trait for a model.
*
我正在尝试编写一个,我需要知道前面的作用域是否更早地添加了任何->select()信息,如果没有,则添加它(这将删除前面的内容)。
这个作用域得到一个$query对象,它是\Illuminate\Database\Query\Builder (根据文档)
如果查看Builder.php,就会看到$columns属性,该属性用于存储要获取的列
/**
* The columns that should be returned.
*
* @var array
*/
public $columns;
但是,在我的作用域中,如果我尝试使用
$query->columns
我收到一条
我正在使用Laravel5.1,并且使用trait和scope建立了一个多租户数据库,如下所示。如何添加这样的内容,以便所有insert查询也可以注入cust_id参数?
范围:
<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\ScopeInterface;
use App\Customers;
use DB, Session;
class Mul
我已经按照Eloquent 的Laravel 5.4文档创建了一个全局作用域
我定义的作用域名称是"app\Scopes“文件夹中的"TenantScope”文件名“TenantScope.php
<?php
namespace app\Scopes;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
class TenantScope implements Scope
{
我想在我的项目中添加一个全局范围。并在一些模型中使用它。所以我创建了这个代码:(在app/scope文件夹中) <?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
class GameStoreScope implements Scope
{
/**
* Apply the scope to a given Eloqu
我想将一个概要文件模型与现有的用户模型关联起来,使用的关系属于hasOne,而我得到了这个错误。
这是我的Profile.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Profile extends Model
{
public function user(){
return $this->belongsTo(User::class);
}
}
User.php
<?php
namespace App;
use Illum
我有两张桌子,“教师”和"teacher_certificates“,用来保存教师证书。
我试图通过像这样雄辩的关系来保存教师证书
教师模式:
namespace App\Models\Teachers;
use App\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Database\Eloquent\SoftDeletes;
class Teacher extends Model
{
pu