所以我刚开始使用Laravel(使用v5)和Eloquent.我正在努力获得一些基本的API并注意到很多工作方法都没有出现在PhpStorm的代码提示中
所以我有这个模型:
namespace Project\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model
implements AuthenticatableContract, CanResetPasswordContract {
}
Run Code Online (Sandbox Code Playgroud)
在我的一个控制器中,我尝试做
User::query()->orderBy('id', 'desc');
Run Code Online (Sandbox Code Playgroud)
User::query()
创建一个Eloquent Builder
对象,orderBy()
行为正确,没有错误.但是,当我输入时,PhpStorm不显示orderBy()
(或者take()
,skip()
我确定其他人),User::query()->
并在我实际使用它时发出警告.
我正在使用Laravel IDE Helper,它非常有助于为Facades提供代码提示,但不会对它看起来的模型/构建器提供帮助.
有人有解决方案吗?
我有以下Eloquent模型与关系:
class Lead extends Model
{
public function contacts()
{
return $this->belongsToMany('App\Contact')
->withPivot('is_primary');
}
}
class Contact extends Model
{
public function leads()
{
return $this->belongsToMany('App\Lead')
->withPivot('is_primary');
}
}
Run Code Online (Sandbox Code Playgroud)
数据透视表包含一个额外的param(is_primary
),用于将关系标记为主要关系.目前,当我查询联系人时,我看到这样的返回:
{
"id": 565,
"leads": [
{
"id": 349,
"pivot": {
"contact_id": "565",
"lead_id": "349",
"is_primary": "0"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将is_primary
其转换为布尔值?我已经尝试将它添加到$casts
两个模型的数组中,但这并没有改变任何东西.
在我的Nexus 5上的Android Lollipop(最近的开发预览,构建LPX13D)中,我正在编写的应用程序似乎隐藏在软导航栏(带有Back,Home和App History按钮的栏)下方.我无法在运行Kit Kat的Nexus 4上复制它(没有任何内容隐藏在导航栏后面).
我该怎么做才能缩小应用程序的视口,以便在屏幕上看到我的所有内容?
编辑:
截图,根据要求.
运行Kit Kat的Nexus 4(4.4.4):
Nexus 5运行Lollipop(5.0,LPX13D):
我们正在尝试规划将部署到Android和iOS的移动AIR应用程序.我们的设计团队返回的一个屏幕是一个全屏文本编辑器,从屏幕顶部到键盘.如果我不能以编程方式抓住键盘的高度,我显然不能这样做.有没有办法做到这一点?
我知道在iOS中它是可能的,在Android中它似乎是不可能的.我没有创建ANE的问题,但如果数据已在AIR中可用,我宁愿避免使用它.或者,我可以假设键盘的大小是屏幕尺寸的1/2,这在大多数情况下都适用于iOS.
简而言之,在AIR中可以获得软键盘的高度吗?
我有一个有序列表,可能有无限量的嵌套列表.我希望动态更改background-color
每个嵌套列表,以便逐渐变暗,使每个列表的分组更容易理解.
所以我有这个基本结构(可以无限延续):
<ol class="top-level-list">
<li>
<ol>
<li>
<ol>
<li></li>
</ol>
</li>
</ol>
</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用以下内容完成此操作:
.top-level-list li ol li ol li {
background: #D4D4D4;
}
.top-level-list li ol li ol li ol li{
background: #C7C7C7;
}
Run Code Online (Sandbox Code Playgroud)
这给了我想要的东西,但它限制了我可以使用多少级别,每个级别为我的CSS文件添加越来越多的数据,导致更长的加载时间.
有没有办法用一个选择器动态设置颜色?我知道CSS3添加了一些新的CSS选择器技巧,但我找不到任何记录这样的东西.我也找不到在选择器中使值对应于选择器本身的方法.
我正在开发一个项目,我从其他类继承的大量类继承自其他类,依此类推.它可能比它应该更复杂,但我是抽象的傻瓜.
无论如何,有时我需要将getter/setter从公共更改为私有.我想这不是一个需要,而是希望切断子类中预设的东西,但仍需要在父类中公开访问.
所以一个例子是:
Class Base {
public function set label( value:String ):void{};
}
Class A extends Base {}
Class B extends A {
public function B() {
super();
this.label = "stuff";
}
override public function set label( value:String ):void {
//this setter should not be publicly available since the label should not be possible to change in this class
}
}
Run Code Online (Sandbox Code Playgroud)
目前,在这些情况下,我正在做两件事之一:
我做了一些搜索,一切似乎都指向这是不可能的,但我从未发现它明确表示这是不可能的.那么是否可以在继承的属性/函数上更改访问修饰符?
我需要在我的Flex Mobile应用程序中使用Android SDK显示用Java编写的Activity.我已经看到它使用Map ANE完成,但找不到任何示例代码或任何类型的东西.我已经创建了我的ANE工作所需的Java和ActionScript代码(创建了活动,真正桥接Java和AS3所需的所有类,事件和方法都在那里),我只是无法弄清楚如何添加它到了舞台.我知道它不能添加到DisplayList中,我很好,它是一个舞台对象.
如果它有帮助,我试图使用MediaPlayer显示视频(由于使用AS3/Flex完成MP4流媒体问题).
迈克尔(2012年8月27日@M:00上午9:44):
08-27 09:27:07.836: I/CS VideoInit(2567): context is set
08-27 09:27:07.836: I/CS VideoInit(2567): intent is instantiated
08-27 09:27:07.836: I/ActivityManager(349): START {cmp=air.AndroidANETesting2/xi.video.android.extension.VideoActivity u=0} from pid 2567
Run Code Online (Sandbox Code Playgroud)
我活动的第一行是
Log.i("CS VideoActivity","Made it inside the activity somehow");
Run Code Online (Sandbox Code Playgroud)
这是我的Java.这是init函数:
VideoInit.context = context;
Log.i("CS VideoInit","context is set");
Intent intent = new Intent( context.getActivity(), VideoActivity.class );
Log.i("CS VideoInit","intent is instantiated");
context.getActivity().startActivity( intent );
Log.i("CS VideoInit","Activity is started");
context.dispatchStatusEventAsync("PLAY", "PLAY");
Run Code Online (Sandbox Code Playgroud)
这是我的VideoActivity onCreate():
super.onCreate(savedInstanceState);
Log.i("CS VideoActivity","Made it inside the activity somehow");
Run Code Online (Sandbox Code Playgroud)
我的Manifest for good measure(只是申请部分): …
我想在Laravel中验证一个日期.我datepicker
在前端使用JavaScript,以这种格式将日期发送到服务器Laravel dd-MMMM-yy
:
$scope.formData.dob = $filter('date')(scope.formData.dob, 'dd-MMMM-yy');
Run Code Online (Sandbox Code Playgroud)
我的laravel有这样的验证:
$validator = Validator::make($postData, [
'dob' => 'date_format:"dd-MMMM-yy"',
]);
Run Code Online (Sandbox Code Playgroud)
但是验证器一直说日期与格式不符dd-MMMM-yy
:
dob与格式dd-MMMM-yy不匹配.
我想也许它与格式类型有关,所以我尝试将它改为不同的格式,如d/m/y,dd-mm-yyyy等......在JavaScript日期和Laravel日期验证中但是一切都在说同样的错误日期不匹配.输出似乎很好,它是我在验证中提到的格式.我不明白为什么Laravel验证失败了.
我在这里错过了什么吗?
date-format laravel laravel-5 laravel-validation laravel-5.1
laravel ×3
air ×2
android ×2
apache-flex ×2
eloquent ×2
laravel-5 ×2
php ×2
css ×1
date-format ×1
laravel-5.1 ×1
phpstorm ×1