我有一个名为modelsinside 的目录app/,我放置了所有的模型类.现在我想更改以下命令输出生成的类的目录
php artisan make:model SomeModel
Run Code Online (Sandbox Code Playgroud) 我有一个卖方对象,其中有一个相关的用户.我需要填写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) 我有这个迁移:
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) 我正在尝试发送包含此配置的电子邮件:
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中解决它.
我做了一个新的命令:
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) 根据Laravel的文档(https://laravel.com/docs/5.3/blade#introduction),视图被编译成纯PHP代码并被缓存,直到被修改,但是何时重新编译?
我将项目放在生产环境中,并且在部署更改自动显示时,不需要清除视图缓存或类似内容。
是自动重新编译视图(在这种情况下,何时生成?)还是未启用缓存?
我正在尝试用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)
如果我在浏览器中复制并粘贴路径,它会打开文件,因此该文件确实存在.怎么了?
我将 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)
我需要它们完全命名空间。
我一直在阅读有关雄辩的事件。与模型的每次交互都有一个事件:创建、创建、更新、更新、保存、保存、删除、删除、恢复、恢复。
我想知道模型更新时的数据以及之前的数据。是否可以?因为文档没有太多关于如何使用这些事件的信息。
我正在通过表单上传文件。
当我转储文件时,$request->file("slide")它会返回一个 UploadedFile 对象,但它没有方法来获取临时文件的路径。
我怎么才能得到它?
在将图像保存到磁盘之前,我需要使用干预图像修改图像的路径。