在我的模型中,我有以下内容:
protected $dates = [
'start',
'end',
'created_at',
'updated_at'
];
Run Code Online (Sandbox Code Playgroud)
我使用日期时间选择器以这种格式插入开始和结束日期:
2016-01-23 22:00
Run Code Online (Sandbox Code Playgroud)
没有秒.当我这样做时,我收到此错误:
InvalidArgumentException in Carbon.php line 425:
Data missing
at Carbon::createFromFormat('Y-m-d H:i:s', '2016-01-23 22:00') in Model.php line 3015
Run Code Online (Sandbox Code Playgroud)
如果我确实包括秒,它就可以了.秒对我来说并不重要,我不想将它们包含在我的日期时间选择器字段中.任何方式,所以我仍然可以使用这些字段作为日期字段?
我有两个相关的模型.我正在尝试在产品中进行搜索,只显示实际搜索结果,而不是显示找到产品的所有类别的产品.我不想搜索任何类别,因为无论搜索到什么,无论发现什么,总是会显示类别.
Example. I have the following categories:
- Food
- Drinks
- Candy
My "Food" category has the following products:
- Strawberry
- Apple
- Banana
My "Drinks" category has the following products:
- Banana Cocktail
- Beer
- Cola
My "Candy" category has the following products:
- Strawberry Lollipop
- Chocolate Bar
- Banana Ice Cream
Run Code Online (Sandbox Code Playgroud)
所以,我想要实现的目标如下.我搜索了一个名为"香蕉"的产品.我想要展示的是:
Category Food
- Product Banana
Category Drinks
- Product Banana Cocktail
Category Candy
- Product Banana Ice Cream
Run Code Online (Sandbox Code Playgroud)
但我的问题是,使用我的代码,如果我执行搜索"Banana",它会显示找到banana的类别,并返回并显示该类别中的所有产品,而不仅仅是我搜索的产品.如何才能实现它,只显示搜索到的产品?
分类型号:
class Categories …
Run Code Online (Sandbox Code Playgroud) 我使用以下教程来了解接口:
http://vegibit.com/what-is-a-laravel-interface/
但我想更改我将接口放到"App/Models/Interfaces"的目录.所以我做到了.但现在我不能让它继续工作了.这是我的代码:
routes.php文件
App::bind('CarInterface', 'Subaru');
Route::get('subaru', function()
{
$car = App::make('CarInterface');
$car->start();
$car->gas();
$car->brake();
});
Run Code Online (Sandbox Code Playgroud)
型号Subaru.php
<?php
use App\Models\Interfaces\CarInterface;
class Subaru implements CarInterface {
..etc
Run Code Online (Sandbox Code Playgroud)
接口CarInterface
<?php namespace App\Models\Interfaces;
interface CarInterface {
public function start();
public function gas();
public function brake();
}
Run Code Online (Sandbox Code Playgroud)
我在composer.json中添加了这个:
"psr-0": {
"Interfaces": "app/models/interfaces"
}
Run Code Online (Sandbox Code Playgroud)
我甚至在start/global.php文件中添加了这个:
ClassLoader::addDirectories(array(
app_path().'/models/interfaces',
Run Code Online (Sandbox Code Playgroud) 请在下面查看我的代码。通过该课程,我可以显示如下结果:
$connectTest = new testResults();
$test = $connectTest->grabResults(test, id, id);
echo $test['id'];
echo $test['name'];
echo $test['address'];
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,“测试”表中有几个字段。我使用 index.php?id=1 进入我的页面。有了这个,我只显示一行的结果,因为它抓取所有结果 WHERE id = 1。
我需要的是下面的类来显示多个结果。它只显示一行。但是如果我有 id = 1 的多行,我想显示这些结果,但我无法让它工作。我尝试了很多东西,但我总是只得到一个结果。
班级:
class testResults
{
public function grabResults($table, $field, $id)
{
$result = $this->db->mysqli->query("SELECT * FROM $table WHERE $field = $id");
$resultData[] = array();
if(!$result)
{
return false;
}
while($row = $result->fetch_assoc())
{
$rows[] = $row;
}
foreach ($rows as $resultData)
{
return $resultData;
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
Array ( [id] => 25 …
Run Code Online (Sandbox Code Playgroud) 我有一个select2
选择菜单.
剥离版本例如:
<div class="form-group has-error">
<select name="description_id" class="select2">
// <options>
</div>
Run Code Online (Sandbox Code Playgroud)
应用has-error
到文本输入将在输入周围显示红色边框.这不适用于select2菜单.我错过了什么?
我正在使用bootstrap3和最新的select2:
我已经阅读了这个页面并尝试了解决方案,但它不起作用:
https://xcellerant.net/2013/12/05/adding-bootstrap-error-styling-to-a-select2/
我正在尝试根据数据库字段的值运行一些动态方法调用。一些背景信息:我有一个模型Anniversary
,我想在接下来的 x 天内显示所有即将到来的周年纪念日。周年纪念日有 adate
和 a frequency
。例如,每月、每季度等。根据频率,我想检查每个周年纪念日是否即将到来。
到目前为止,这是我的代码:
$anniversaries = auth()->user()->anniversaries()->get();
$test = $anniversaries->filter(function ($anniversary) {
$method = Str::of($anniversary->frequency)->camel();
return ${$anniversary->$method}() == true;
});
dd($test);
Run Code Online (Sandbox Code Playgroud)
当我在实际方法中做dd()
一些事情时,上面的方法是有效的。但是当返回 true 或 false 时,我收到错误:
App\Models\Anniversary::monthly must return a relationship instance
Run Code Online (Sandbox Code Playgroud)
在我的模型中,我只有一些如下所示的方法用于测试:
public function monthly()
{
return true;
}
public function quarterly()
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
我唯一的问题是,我想了解为什么我会收到此错误,当然还有任何指向正确方向的指针以实现我想要的工作。谢谢!
我正在尝试学习一些jQuery并且看起来我没有从我的上一个问题和我得到的答案中学到任何东西,因为我无法弄清楚如何执行以下操作:
https://jsfiddle.net/9eofcw7w/
是的,它正在工作,但像这样的代码只是草率而且不专业:
$('#tab1').click(function () {
$('#tab2show').hide();
$('#tab3show').hide();
$('#tab4show').hide();
$('#tab5show').hide();
$('#tab1show').show();
});
Run Code Online (Sandbox Code Playgroud)
我将如何使用几行jQuery而不是现在的东西来制作上述代码?
这些是我班上的规则:
class AppointmentsController extends Controller
{
protected $rules = [
'appointment' => ['required', 'min:5'],
'slug' => ['required', 'unique:appointments'],
'description' => ['required'],
'date' => ['required', 'date_format:"Y-m-d H:i"'],
];
Run Code Online (Sandbox Code Playgroud)
这是laravel官方文档:
有时,您可能希望在唯一检查期间忽略给定的ID.例如,考虑一个"更新配置文件"屏幕,其中包括用户的名称,电子邮件地址和位置.当然,您需要验证电子邮件地址是否唯一.但是,如果用户仅更改名称字段而不更改电子邮件字段,则不希望抛出验证错误,因为用户已经是电子邮件地址的所有者.如果用户提供已由其他用户使用的电子邮件地址,您只想抛出验证错误.要告诉唯一规则忽略用户的ID,您可以将ID作为第三个参数传递:
'email' => 'unique:users,email_address,'.$user->id.',user_id'
Run Code Online (Sandbox Code Playgroud)
我尝试在我的规则中使用它:
'slug' => ['required', 'unique:appointments,id,:id'],
Run Code Online (Sandbox Code Playgroud)
这确实忽略了当前行,但它完全忽略了它.我想要完成的是,我希望它只在slug不变的情况下忽略当前行.当它被更改为另一行中已经唯一的东西时,我希望它抛出一个错误.
我有一个搜索功能来搜索特定日期,月份,字符串等的费用.它返回一个集合:
到现在为止还挺好.我可以显示全部返回Expenses
.现在,我想要做的是,显示总费用和总金额,按照分组description_id
.如果我只是这样做$result->groupBy('description_id)
,我只会得到一组集合,我可以从中显示总计数和总金额,但不能显示描述的名称.我想要的例子:
Grouped Results (By Expense):
Description Name: <-- Issue displaying this
Total Expenses: 3
Total Amount: 53444
Run Code Online (Sandbox Code Playgroud)
描述名只能经由之间的关系来获得Expense
和Description
.费用属于描述.
在处理我的集合时,是否可以实现我想要的,或者我应该对这些结果执行单独的查询?(不期望的)
所以我只是注意到我的 PhpStorm 为我的项目设置了背景颜色,而且结构很奇怪。所有这些都可以通过一些屏幕截图得到最好的解释。
这就是它现在的样子,我什至无法App
在这里看到我的文件夹等:
单击Project
顶部然后选择后Project Files
,我可以像平常一样再次看到我的结构:
我的问题是,这是什么意思以及如何将其设置为“恢复正常”?对我来说,“正常”意味着以下几点:
我可以看到我的所有文件Project
,而且没有棕色背景颜色。
根据谷歌搜索的建议,到目前为止我所做的是:
PS 这是一个新的 Laravel 项目,仅进行了一些细微的更改,所有文件都添加到了 git 中,并且刚刚进行了最后一次提交。没有什么可以“解决”这个问题。