标签: illuminate-container

在laravel中使用update或Create进行增量

我想做的是更新或插入表中的行。就我而言,更新看起来像这样:

\DB::table('inventories')->where('product_code',$product_code)->increment('stock_current_quantity',$quantity);
Run Code Online (Sandbox Code Playgroud)

我不想使用if else语句。我真正想要的是将增量集成到以下语句中,以便按上述语句进行更新。

 \App\Inventory::updateOrCreate(['product_code' => $product_code], ['stock_current_quantity'=>$quantity]);
Run Code Online (Sandbox Code Playgroud)

提前致谢!

laravel eloquent illuminate-container laravel-5.1

3
推荐指数
3
解决办法
3257
查看次数

使用CodeIgniter 3中的Illuminate/Database Eloquent ORM进行多个数据库连接

我刚刚将Laravel的数据库层Eloquent包含在我的CodeIgniter 3项目中.然而,我的问题是我无法使用Eloquent模型连接到多个数据库.

对于默认DB,这是我配置DB的方式:

$capsule = new Capsule;

$capsule->addConnection(array(
        'driver'    => 'mysql',
        'host'      => "localhost",
        'database'  => "employees_db",
        'username'  => "root",
        'password'  => "",
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        ));

$capsule->setAsGlobal();
$capsule->bootEloquent();
Run Code Online (Sandbox Code Playgroud)

以上效果很好.但我有一个来自另一个数据库的员工表.我可以使用查询构建器来使用它,但是使用Eloquent模型会失败.

我试过这个:

$employees = new Capsule;

$employees->addConnection(array(
        'driver'    => 'mysql',
        'host'      => "host2",
        'database'  => "employees_db",
        'username'  => "user",
        'password'  => "pass",
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        ),'employees');

$employees->setAsGlobal();
Run Code Online (Sandbox Code Playgroud)

尝试设置一个Eloquent模型并使用如下连接:

protected $connection = "employees";
Run Code Online (Sandbox Code Playgroud)

是否可以使用Laravel之外的Illuminate\Database Eloquent ORM连接到多个数据库?如果有,怎么样?

php eloquent illuminate-container

3
推荐指数
1
解决办法
5066
查看次数

Laravel 5.2,LaravelCollective 5.2,未找到Class'Html'

我按照这些步骤但仍未找到"Html"类.

加入 composer.json

"require": {
    "laravelcollective/html": "5.2.*"
}
Run Code Online (Sandbox Code Playgroud)

一旦安装,添加这些行 config/app.php

  'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

  'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],
Run Code Online (Sandbox Code Playgroud)

请参阅随附的屏幕截图.可能是什么原因,我也尝试了,composer dump-autoload composer clear-cache但它没有解决问题

在此输入图像描述

更新

查看示例代码

{!!Html::style('assets/css/bootstrap.min.css')!!}
{!!Html::style('assets/css/custom.css')!!}

{!!Html::script('assets/js/jquery.min.js')!!}
{!!Html::script('assets/js/bootstrap.min.js')!!}
Run Code Online (Sandbox Code Playgroud)

laravel illuminate-container laravel-5.2 laravelcollective

3
推荐指数
1
解决办法
4631
查看次数

在Model.php中,Laravel的Eloquent公共静态函数"创建"发生了什么?

在Laravel 5.x的早期版本中(我不确定它何时被更改)我能够create在任何Eloquent Model类上调用静态方法将记录插入到数据库中.

例如:

EloquentUser::create([
    'name' => self::ADMIN_NAME,
    'email' => self::ADMIN_EMAIL,
    'password' => bcrypt(self::ADMIN_PASSWORD),
]);
Run Code Online (Sandbox Code Playgroud)

那是public static function createModel.php(vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php)中调用的.

public static function create(array $attributes = [])
{
    $model = new static($attributes);

    $model->save();

    return $model;
}
Run Code Online (Sandbox Code Playgroud)

在Laravel 5.5中,我仍然可以调用,createModel.php完全重新排列,不包含此方法.更重要的是,在整个供应商中搜索/ Illuminate给了我这样的东西.请解释,它是如何工作的,它在幕后所谓的.

在此输入图像描述

谢谢.

php laravel illuminate-container laravel-5

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

使用 Illuminate 数据库

我想使用 Illuminate 数据库(https://github.com/illuminate/database)。不适用于 Laravel,仅在我的 php 文件中使用。我愿意

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => 'password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
]);
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,并且不显示任何错误消息。我需要任何文件吗?照明目录与我的php文件在同一目录中。

编辑:

我现在可以使用查询了。像这样

$users = Capsule::table('users')->where('votes', '>', 100)->get();
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用模型。

用户名

class User extends Illuminate\Database\Eloquent\Model {
}
Run Code Online (Sandbox Code Playgroud)

我的php文件

require 'vendor/autoload.php';
require 'User.php';
$users = User::where('status', '=', 1)->get();
Run Code Online (Sandbox Code Playgroud)

有错误

Fatal error: Call to a member function connection() on a non-object …
Run Code Online (Sandbox Code Playgroud)

php laravel illuminate-container

1
推荐指数
1
解决办法
5973
查看次数

独立的非Laravel应用程序中的Illuminate Validator

我正在使用Slim和带有Illoquent模型等的Illuminate Database包构建API。已经使用Capsule实例化了数据库处理程序,如所示README。但是,现在我想在不安装完整的Laravel套件的情况下在模型上使用验证功能,但是我无法完全理解该库的设计。

我将如何处理?看来为Laravel提供的文档非常期待您可以直接使用Laravel。

php validation laravel illuminate-container

1
推荐指数
3
解决办法
1963
查看次数

如何使用Illuminate/Html在Laravel中设置禁用选择选项

我从Laravel开始,我正在使用Illuminate/Html制作表格.

我想在第一个选项中添加禁用属性,但我找不到这样做的方法.

{!! Form::open(['url' => 'shelter/pets']) !!}
    <div class="form-group">
        {!! Form::label('pet_type','Type:') !!}
        {!! Form::select('pet_type', ['Select Type','dog', 'cat'], 0, ['class' => 'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::submit('Add pet', null, ['class' => 'btn btn-primary form-control']) !!}
    </div>
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)

php forms laravel blade illuminate-container

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

Laravel告诉我未定义的索引,但dd说它在那里

启动了一个新的Laravel 5.2项目并实现了它附带的默认身份验证.我想修改它,以便注册表单有一个名字和姓氏的字段,而不仅仅是'name'.我在视图,验证和模型中添加了字段.当我测试时,我得到以下内容:在此输入图像描述

第71行位于以下代码块中,用于姓氏或"lname".

 protected function create(array $data)
    {
        return User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname '],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
Run Code Online (Sandbox Code Playgroud)

当我dd在数据数组之前添加一个return/create像这样的数据:

 protected function create(array $data)
    {
        dd($data);
        return User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname '],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }
Run Code Online (Sandbox Code Playgroud)

我明白了: 在此输入图像描述

我们可以清楚地看到,lname实际上,它存在于该数组中,不应该是未定义的索引.这是怎么回事?

php illuminate-container laravel-5

0
推荐指数
1
解决办法
624
查看次数