我对laravel在IOC容器和外墙方面提供的所有好东西感到有些困惑.由于我不是一位经验丰富的程序员,因此学习起来势不可挡.
我想知道,这两个例子有什么区别:
'Foo'的门面并通过容器注册 App::bind()
'Foo'的门面并通过容器注册 App::singleton()
在我的最佳理解Foo::method()中将被重写,$app->make['foo']->method()因为在第一个示例Foo中将创建类的多个实例,并且在第二个示例中,因为它通过a绑定App::singleton(),所以Foo每次调用该对象上的Method时都将返回相同的实例.
如果这个问题的答案显而易见,我很抱歉,但我找不到任何关于这个问题的确认,也没有明确解释.
我正在VueJS中构建一个Web应用程序但我遇到了一个问题.我想使用jQuery扩展(cropit是特定的)但我不知道如何以正确的方式实例化/ require/import它而不会出错.
我正在为我的应用程序使用de官方CLI工具和de webpack模板.
我在main.js文件中包含了这样的jQuery:
import jQuery from 'jQuery'
window.jQuery = jQuery
Run Code Online (Sandbox Code Playgroud)
现在我正在构建一个图像编辑器组件,我希望像这样实例化crept:
export default {
ready () {
$(document).ready(function ($) {
$('#image-cropper-wrapper-element').cropit({ /* options */ })
})
},
}
Run Code Online (Sandbox Code Playgroud)
但我一直在收到错误......现在我的问题是如何通过NPM/Webpack/Vue正确实例化jQuery和插件?
提前致谢!
编辑:
虽然这个问题最初是针对我在下面描述的查询所特有的,但我得到的答案几乎适用于与在Laravel中使用派生表/子查询相关的几乎所有问题.
原始问题:
最近我有点卡在laravel查询构建器上.它有一些非常好的功能,但我觉得它不是为更复杂的数据库操作而构建的.
这是我正在尝试构建的查询:
select
'IFNULL(counted.product_count, 0) AS product_count',
'uncounted.value',
'uncounted.attribute_id',
'uncounted.attribute_option_id'
from (
select
'counted.id',
'counted.attribute_id',
'counted.value',
'count(counted.attribute_id) AS product_count'
from `attribute_options` as `counted`
where `counted.product_id` in (?, ?, ?, ?, ?)
group by `counted.attribute_option_id`
) as 'counted'
right join 'attribute_options' as 'uncounted'
on 'counted.id' = 'uncounted.id'
group by 'attribute_option_id'
Run Code Online (Sandbox Code Playgroud)
查询说明: 我正在laravel中为我的产品目录构建一个分面搜索.根据用户提供的过滤器/属性缩小产品范围.为了获得更好的用户体验,我想显示每个过滤器剩余的产品数量,这就是上面的查询所做的事情:计算某个属性的所有产品,其中product_id是产品ID的数组.
我的尝试:
$productIds = [ 1, 2, 3, 4, 5 ];
$subQuery = \DB::table('attribute_options')->selectRaw('counted.id, counted.attribute_id, counted.value, count(counted.attribute_id) AS product_count')
->from('attribute_options AS counted')
->whereIn('counted.product_id', $productIds)
->groupBy('counted.attribute_option_id')
->mergeBindings($subQuery);
$query …Run Code Online (Sandbox Code Playgroud) 我正在使用laravel和VueJs构建一个应用程序,我想知道如何以适当的方式将url参数(如用户slug或用户id)传递给vuejs,以便能够使用该参数进行ajax请求?
例如,当有人点击导致的链接时
domain.com/user/john-appleseed
Run Code Online (Sandbox Code Playgroud)
我想在我的vuejs应用程序中使用slug'john-appleseed'作为参数来发出ajax请求.
什么是"正确/适当"的方式?
提前致谢!
我正在Laravel中构建一个多域/多商店电子商务应用程序,并且希望在用户从一个商店更改为商店时保持用户登录.
但据我所知,Laravel的Auth服务会将登录用户保存在会话中,其他域无法访问会话.
有没有办法(可能是一个包)来实现这一点,而不会让我的应用程序容易出现安全问题?
提前致谢!
我有三张桌子:
products: id|name|description|slug|category_id|...
reviews: id|product_id|review_text|name|email|...
review_rows id|review_id|criteria|rating
Run Code Online (Sandbox Code Playgroud)
审查表存储审阅文本,审阅的编写者并具有外部product_id密钥.review_rows表存储不同标准的评级,例如:
----------------------------------------
| id | criteria | rating | review_id |
----------------------------------------
| 1 | price | 9 | 12 |
----------------------------------------
| 2 | service | 8 | 12 |
----------------------------------------
| 3 | price | 6 | 54 |
----------------------------------------
| 4 | service | 10 | 54 |
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
审核行使用review_id外键链接到审阅表.我已经建立了这样的模型关系:
Product -> hasMany -> Review
Review -> belongsTo -> Product
Review -> hasMany -> ReviewRow
ReviewRow -> belongsTo -> Review …Run Code Online (Sandbox Code Playgroud) 我正在运行magento 1.9.2.2,当使用Internet Explorer和Edge浏览器时,我无法向购物车添加任何内容.我点击添加到购物车按钮,重定向到购物车页面,然后显示"你的购物车是空的......"消息.Safari,Chrome,Firefox,一切正常.只是在使用IE或Edge时才遇到这个问题.
在发现问题之后,我做了一些研究,发现只有在有问题的浏览器上Magento没有设置前端cookie(据我所知处理用户/前端会话).
我已经在后端更改了我的cookie设置,更改了cookie的生命周期,添加了一个路径,将我的域名更改为有和没有前导点,但到目前为止没有任何工作.
有人知道一个解决方案,或者可以告诉我为什么这些cookie没有在那些特定的浏览器中设置?
提前致谢!
我正在为我的laravel应用程序构建一个分层导航模块 - 就像在Magento或WooCommerce中完成的那样.这是一个想法:产品可以分配单个或多个属性,然后用户应该能够使用这些属性过滤产品.像属性"材料"一样,可以为产品分配一个或多个值,如铁,木材和塑料.我的问题是我无法弄清楚如何正确地做到这一点.
我的数据模型是这样的:
products table: id | name | other info...
example: 42 | Chair | ...
example: 14 | Bike | ...
attributes table: id | name | description
example: 02 | Material | the material that the...
attribute_options table: id | attribute_id | value
example: 11 | 02 | Wood
example: 12 | 02 | Iron
pivot table: id | product_id | attribute_option_id
example: 12 | 42 | 11 …Run Code Online (Sandbox Code Playgroud) 我有一个演示类通常通过
$this->app->bind('demo', function() { return new Demo(); }
一个立面
受保护的静态函数 getFacadeAccessor() { return 'demo'; }
类本身看起来像这样
课堂演示
{
私人 $value1;
私人 $value2;
公共函数 setVal1($value)
{
$this->value1 = $value;
}
公共函数 setVal2($value)
{
$this->value2 = $value;
}
公共函数 getVals()
{
返回 'Val 1:' 。$this->value1 。'瓦尔2:'。$this->value2;
}
}
有人告诉我,如果我在这个类上使用 Facade,Laravel 将实例化该类的一个对象,然后调用该对象上的方法,例如:
$app->make['demo']->setVal1();
Run Code Online (Sandbox Code Playgroud)
Butt 我测试了更多,发现这种非常奇怪(至少对我而言)的行为:
如果我做
演示::setVal1('13654'); 和
演示::setVal2('随机字符串')
我不应该使用 Demo::getVals() 来检索我刚刚创建的值,对吗?由于每次使用外观方法时都会实例化一个新对象,一个对象如何检索另一个对象的属性?应该有三个不同的实例,但我仍然能够从其他实例中检索属性......
我认为这只有在将类与 App::singleton 绑定而不是通过 App::bind 绑定时才有可能?
因为在Laravel 5中没有表单构建器类(你可以添加它,我知道),如何在不使用任何表单构建器类的情况下制作put,patch和delete匹配这些路由的请求,只是普通的Laravel?
我正在laravel中建立产品目录,我想根据产品的属性过滤产品。
我有2个表格,产品和属性。属性具有键,值和product_id。例如:
product_id - key - value
12 - brand - BestBrandEver
23 - brand - EvenBetterBrand
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够通过类别页面上的表单过滤我的产品,该表单传递查询字符串参数,例如“ brand = BestBrandEver或brand = EvenBetterBrand”,并仅检索该品牌的产品。最终,我想对颜色,材质等做同样的事情。这很像Magento或Woocommerce分层导航。
我现在停留了一段时间,因为我不知道如何以正确的方式开始构建它。是否有人可以帮助我,或者可以为我指明正确的方向(甚至包括教程或视频)?
提前致谢!