小编Ala*_*lan的帖子

Laravel 5模型文件夹

我有一个名为modelsinside 的目录app/,我放置了所有的模型类.现在我想更改以下命令输出生成的类的目录

php artisan make:model SomeModel
Run Code Online (Sandbox Code Playgroud)

php model laravel artisan

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

Laravel从关系中汲取领域

我有一个卖方对象,其中有一个相关的用户.我需要填写LaravelCollective的一个选择,所以我需要做这样的事情:

{!! Form::selectGroup('seller_id', 'Seller', Seller::with('user')->pluck('user.first_name', 'id')->toArray(), null) !!}
Run Code Online (Sandbox Code Playgroud)

问题是我无法从关系中获取字段(user.first_name).

我该怎么做?

UPDATE

我想避免这样做......

<?php 
    $sellers = [];

    Seller::with('user')->get()->each(function ($seller) use (&$sellers) {
        $sellers[$seller->id] = $seller->user->first_name;
    });
?>
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-collection laravelcollective

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

Eloquent模型返回0作为主键

我有这个迁移:

Schema::create('provincias', function (Blueprint $table) {
    $table->string('codigo', 2);
    $table->string('nombre', 50);
    $table->timestamp('creado');
    $table->primary('codigo');
});
Run Code Online (Sandbox Code Playgroud)

这是我的模特:

class Provincia extends Model
{   
    protected $primaryKey = 'codigo';
    public $timestamps = false;
}
Run Code Online (Sandbox Code Playgroud)

我运行迁移并保存这样的数据:

$provincia = new Provincia;
$provincia->codigo = "BA";
$provincia->nombre = "Buenos Aires";
$provincia->save();
Run Code Online (Sandbox Code Playgroud)

问题是,当我得到所有并转储:

$provincias = Provincia::all();
return $provincias;
Run Code Online (Sandbox Code Playgroud)

即使我检查数据库表并且它具有正确的值,主键"codigo"始终为0:

{
    codigo: 0,
    nombre: "Buenos Aires",
    creado: "2015-12-24 21:00:24"
}
Run Code Online (Sandbox Code Playgroud)

laravel eloquent

22
推荐指数
2
解决办法
5926
查看次数

具有TLS加密的Laravel SMTP驱动程序

我正在尝试发送包含此配置的电子邮件:

return [

    'driver'     => 'smtp',

    'host'       => 'mail.mydomain.com',

    'port'       => 26,

    'from'       => ['address' => 'mailer@mydomain.com', 'name' => 'Mailer'],

    'encryption' => 'tls',

    'username'   => env('MAIL_USERNAME'),

    'password'   => env('MAIL_PASSWORD'),

    'sendmail'   => '/usr/sbin/sendmail -bs',

    'pretend'    => false,

];
Run Code Online (Sandbox Code Playgroud)

当我提交表格时,我收到了这个erorr:

ErrorException in StreamBuffer.php line 95:
stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

我找到了这个解决方案,人们似乎已经解决了同一个库的问题,但我无法在Laravel中解决它.

https://github.com/PHPMailer/PHPMailer/issues/368

php email ssl laravel self-signed-certificate

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

Laravel自定义命令不起作用

我做了一个新的命令:

php artisan make:console CrawlData
Run Code Online (Sandbox Code Playgroud)

然后我改变了两个变量:

protected $signature = 'make:crawl';
protected $description = 'My crawling command';
Run Code Online (Sandbox Code Playgroud)

问题是,当我跑:

php artisan make:crawl
Run Code Online (Sandbox Code Playgroud)

它输出:

[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "make:crawl" is not defined.
Run Code Online (Sandbox Code Playgroud)

php laravel

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

Laravel Views Cache如何工作?

根据Laravel的文档(https://laravel.com/docs/5.3/blade#introduction),视图被编译成纯PHP代码并被缓存,直到被修改,但是何时重新编译?

我将项目放在生产环境中,并且在部署更改自动显示时,不需要清除视图缓存或类似内容。

是自动重新编译视图(在这种情况下,何时生成?)还是未启用缓存?

php caching views laravel blade

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

删除时找不到Flysystem文件

我正在尝试用Laravel 5删除照片.

Storage::delete( asset('/uploads/slides/abcd.jpg'));
Run Code Online (Sandbox Code Playgroud)

它返回此错误:

FileNotFoundException in Filesystem.php line 428:
File not found at path: http:/localhost:8000/uploads/slides/abcd.jpg
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中复制并粘贴路径,它会打开文件,因此该文件确实存在.怎么了?

php laravel flysystem

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

Laravel 5.3 资源路由名称

我将 Laravel 5.2 应用程序升级到 Laravel 5.3。我有很多资源路线,例如:

Route::resource('web/products', 'Web\ProductController', ['except' => ['show']]);
Route::resource('web/promos',   'Web\PromoController',   ['except' => ['show']]);
Run Code Online (Sandbox Code Playgroud)

在 Laravel 5.2 之前为它们生成的路由名称是:

web.products.index
web.products.create
web.products.store
web.products.edit
web.products.update
web.products.edit
Run Code Online (Sandbox Code Playgroud)

我使用 route() 助手按名称打印所有路线。问题是现在 Laravel 5.3 正在用这个名字生成我的路线:

products.index
products.create
products.store
products.edit
products.update
products.edit
Run Code Online (Sandbox Code Playgroud)

我需要它们完全命名空间。

php laravel laravel-5.3

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

Laravel 更新 eloquent 事件:获取数据

我一直在阅读有关雄辩的事件。与模型的每次交互都有一个事件:创建、创建、更新、更新、保存、保存、删除、删除、恢复、恢复。

我想知道模型更新时的数据以及之前的数据。是否可以?因为文档没有太多关于如何使用这些事件的信息。

php laravel eloquent

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

Laravel 5.0 获取上传文件路径

我正在通过表单上传文件。

当我转储文件时,$request->file("slide")它会返回一个 UploadedFile 对象,但它没有方法来获取临时文件的路径。

我怎么才能得到它?

在将图像保存到磁盘之前,我需要使用干预图像修改图像的路径。

php laravel

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