我在迁移中向表添加一个字段,我希望允许它为NULL但我希望它默认为NULL.我在默认方法中放置了什么?我担心放入"NULL"会试图放置一串NULL我显然不想要的东西.请帮忙 :)
Schema::table('item_categories', function(Blueprint $table)
{
    $table->integer('parent_item_category_id')->unsigned()->nullable()->default($what_to_put here);
});
这个问题可能之前已经得到了解答,但我已经搜索了这些论坛和谷歌,但我认为我没有以最简洁的方式询问正确的事情所以我道歉但我会尝试进一步解释我的问题:
比方说,你有一个变量,让我们调用它x,它指的是一个保存二进制值的内存01000001.我想知道:这个二进制表示的类型信息在哪里举行?
是否有类似于字典的内存映射系统将二进制表示映射到某些预定义的类型列表,例如0000表示int和0001表示a char,例如?
我觉得情况并非如此,因为这会引入庞大的开销,例如,引入更多用户定义的类型或创建更多变量.但我想这可能就是weakly这种语言的情况.(或者可能不是)但是strongly那种语言呢?
假设我有以下类定义:
class Request {
    let url: NSURL?
    init?(url: String) {
        guard let self.url = NSURL(string: url) else {
            self.url = nil
            return nil
        }
     }
}
守卫声明不起作用所以我必须做以下事情:
let url: NSURL?
init?(url: String) {
    guard let _ = NSURL(string: url) else {
        self.url = nil
        return nil
    }
    self.url = NSURL(string: url)!
}
这感觉很长 - 是否有另一种更简单的方法来实现我想要实现的目标,即创建一个可用的初始化器,其唯一属性从NSURL获取值(返回一个可选项).如果NSURL值返回nil,则初始化程序将失败并返回nil.