假设我在表中有7列,我想只选择其中两列,就像这样
SELECT `name`,`surname` FROM `table` WHERE `id` = '1';
Run Code Online (Sandbox Code Playgroud)
在laravel雄辩的模型中,它可能看起来像这样
Table::where('id', 1)->get();
Run Code Online (Sandbox Code Playgroud)
但我想这个表达式会选择id等于1的所有列,而我只想要两列(name,surname).如何只选择两列?
我正在使用laravel 5.4我希望在将它们插入表格后得到记录ID.这是我要插入的数据,它存储在数组中
$data = [
[
"count" => "100",
"start_date" => 1515628800
],
[
"count" => "102",
"start_date" => 1515715200
]
];
Run Code Online (Sandbox Code Playgroud)
在这里我一次插入项目数组
\Auth::user()->schedule()->insert($data);
Run Code Online (Sandbox Code Playgroud)
但是这个方法返回了boolean,我希望在插入这些新项目之后得到这些新项目的ID(或所有列),我该怎么做?它是否会用eloquent或完成并不重要querybuilder.我已经尝试过insertGetId方法,但它似乎不适用于多维数组.如果不能用laravel,那么实现它的最佳方法是什么?
我制作了注册表单,但密码有问题。我在密码字段中输入完全相同的密码并确认密码字段但它失败了
The password confirmation confirmation does not match.
Run Code Online (Sandbox Code Playgroud)
我的注册表单
<div class="form-group">
{!! Form::password('password', ['class' => 'form-control','placeholder' => '*Password']) !!}
</div>
<div class="form-group">
{!! Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => '*Password Confirm']) !!}
</div>
Run Code Online (Sandbox Code Playgroud)
我的验证
'password' => 'required|between:8,255',
'password_confirmation' => 'confirmed',
Run Code Online (Sandbox Code Playgroud)
我也试试这个
'password' => 'required|between:8,255',
'password_confirmation' => 'required|between:8,255|confirmed',
Run Code Online (Sandbox Code Playgroud)
和这个
'password' => 'required|between:8,255|confirmed',
'password_confirmation' => 'required|between:8,255|confirmed',
Run Code Online (Sandbox Code Playgroud)
但仍然不起作用
我有多维数组,我想用我的模型在一个查询中插入所有数据,我知道我可以使用DB查询生成器类来做到,就像
DB::table('table')->insert([
['name' => 'foo'],
['name' => 'bar'],
['name' => 'baz']
]);
Run Code Online (Sandbox Code Playgroud)
但是我该如何使用模型呢?
Model::create()不会插入多个记录,我也不想插入带有循环的项目。能否雄辩地做到这一点?
我使用laravel 5.6
我有GET要传递给重定向功能的参数。
Route::get('/about', function () {
//I want to add param to this redirect function
return redirect('/en/about');
});
Run Code Online (Sandbox Code Playgroud)
如果路由/about?param=123在重定向后看起来像,param 将丢失。有没有办法将参数添加到重定向方法?如我所见,此函数不包含输入参数。该参数是可选的,因此可能不提供。也许有办法重写此功能?或其他解决方案?所有建议将不胜感激
更新
是否可以覆盖该redirect()方法?我认为这将是最好的解决方案
我在项目中使用unisharp文件管理器。在我的本地计算机上,一切正常,但在远程服务器上[Symfony\Component\Debug\Exception\FatalErrorException] Class 'Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider' not found
,config/app.php一切正常都抛出错误
/*FileMananger*/
Unisharp\Laravelfilemanager\LaravelFilemanagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
/*CKEditor*/
Unisharp\Ckeditor\ServiceProvider::class,
Run Code Online (Sandbox Code Playgroud)
unisharpvedor中有目录(因此所有文件和目录都在其中)。当我尝试运行composer install / update时,再次出现此错误。所以一切都在正确的位置,但是laravel没有看到此类。
comoser.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*",
"maatwebsite/excel": "~2.1.0",
"appzcoder/crud-generator": "^1.2",
"laravelcollective/html": "^5.3",
"lavary/laravel-menu": "dev-master",
"nesbot/carbon": "^1.21",
"laracasts/flash": "^2.0",
"spatie/laravel-medialibrary": "^3.11",
"firebase/php-jwt": "^4.0",
"doctrine/dbal": "^2.5"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
},
"autoload": {
"classmap": [
"database"
], …Run Code Online (Sandbox Code Playgroud) 我的项目正在运行Laravel 5.4,我通常使用passportapi通过api进行身份验证bearer token。一切正常,但是当未经授权的用户尝试访问需要身份验证的资源时,该用户会收到错误消息405 method not allowed

但我希望得到回应401 unauthorized。如何更改此设置,仅发送带有消息的响应,而不发送异常?我做了调查,但没有发现任何东西。我使用标准laravel中间件授权auth:api。我的路线归入中间件
Route::group(['middleware' => 'auth:api'], function () {
// these routes should return 401 if user not authenticated
}
Run Code Online (Sandbox Code Playgroud)