-
hgphp
-
一、一对一关联一对一关联是很基本的关联。假设一个User对应到一个Phone,phones表结构如下(通过user_id关联user表的主键):1,定义一对一关联(1)User模型中按下面这样定义关联,传到hasOne方法里的第一个参数是关联模型的类名称。<?php
namespaceApp\Models;
useIlluminate\Database\Eloquent\Mode
-
hgphp
-
七、获取模型数据1,获取所有数据我们使用all()方法可以把全部记录取出来,也就是自动把对应的模型对象集合全部取出来。$users=User::all();
//foreach($usersas$user){
//echo$user->username;
//}2,根据主键查询数据(1)使用find()方法可以根据主键取出一条数据。$user=User::find(2);(2)fi
-
hgphp
-
Laravel拥有两个功能强大的功能来执行数据库操作:Query Builder(查询构造器)和Eloquent ORM。在前面的文章中,我演示了Query Builder的使用,下面我来介绍下后者:Eloquent ORM。六、Eloquent ORM 基础1,什么是Eloquent ORM? Laravel内置的Eloquent ORM提供了一个美观、简单的与数据库打交道的ActiveReco
-
hgphp
-
五、新增、修改、删除操作 在前文中我介绍了如何使用Query Builder(查询构造器)进行数据查询,下面接着介绍如何使用它进行数据的增、删、改操作。同样假设我们有如下用户表(user):1,新增操作(1)插入单条纪录DB::table('user')->insert(
[
'username'=>'guest',
'p
-
hgphp
-
Laravel拥有两个强大的功能来执行数据库操作:Query Builder(查询构造器)和Eloquent ORM。在前面的文章中,我们都是通过Query Builder使用原生的SQL语句来操作数据库。其实Query Builder还提供了许多强大且易用的交互方式,下面通过样例进行演示。三、Query Builder 介绍(1)Query Builder为执行数据库查询提供了一个干净简单的接口
-
SuperBig
-
这是第八篇文章主要讲的是如何实现一个前台服务回顾可以到第一篇文章从头了解Service:Android Service详解系列1,Android Service详解(一)---概述4,Android Service详解(四)---绑定服务BoundService详解之扩展Binder类7,Android Service详解(七)---绑定服务BoundService详解之Messenger双向通信
-
SuperBig
-
这是第七篇文章主要讲的是BoundService中用Messenger实现IPC。前三篇文章对扩展Binder类和AIDL进行了说明,绑定服务一般通过AIDL和Messenger来实现IPC一、概述Messenger实现IPC通信,底层也是使用了AIDL方式。和AIDL方式不同的是, Messenger方式是利用Handler形式处理,因此,它是线程安全的,这也表示它不支持并发处理;而AIDL方式
-
SuperBig
-
这是第六篇文章主要讲的是BoundService中用AIDL实现IPC,自定义属性的使用,上篇博客已经说明了AIDL应该如何使用,但是如果想传入一个自定义的类的时候怎么办呢?那么这篇博客将对这种情况进行详细描述废话不多说了,直接上步骤,前期的步骤上篇博客已经说明了,这篇是对上篇博客的扩展1.新建一AIDL文件,并与你即将定义的类型名字相同,例如Person.aidl2.新建一个类Person.ja
-
SuperBig
-
一、什么是AIDLAIDL(Android Interface Definition Language)安卓接口定义语言二、为什么使用AIDL呢?如果将Service变成远程Service的话,使用扩展的Binder进行通信会报错:这是由于在Bind Service按钮的点击事件里面我们会让MainActivity和MyService建立关联,但是目前MyService已经是一个远程Service
-
SuperBig
-
这是第四篇文章主要讲的是BoundService中使用扩展Binder类实现一、基础知识1.什么是绑定服务绑定服务是客户端-服务器接口中的服务器。绑定服务可让组件(例如 Activity)绑定到服务、发送请求、接收响应,甚至执行进程间通信 (IPC)。 绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行。2.实现原理应用程序组件(客户端)通过调用bindService()方法能
-
SuperBig
-
这是第三篇文章主要讲的是IntentService的使用一、Service的耗时操作如何解决呢?不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法大家参考:① 直接在
-
SuperBig
-
一丶概述启动服务由另一个组件通过调用 startService() 启动,这会导致调用服务的 onStartCommand() 方法。服务启动之后,其生命周期即独立于启动它的组件,并且可以在后台无限期地运行,即使启动服务的组件已被销毁也不受影响。 因此,服务应通过调用 stopSelf() 结束工作来自行停止运行,或者由另一个组件通过调用 stopService() 来停止它。应用组件(如 Act
-
SuperBig
-
一、什么是ServiceService 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。二、那么服务可以做什么呢?Serv
-
android
-
Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们不讨论Android Studio 3.0 使用Kotlin,我会在后面的博客中介绍,今天是讨论和学习
-
android
-
Google I/O 大会后,Android Studio 就发布了3.0 金丝雀版本,支持 Kotlin 语言,增加了 Gradle 编译速度,支持即时应用开发,在 Android O 模拟器中增加了 Google Play Store,自适应图标等 20 多项新功能。今天我们一起讨论和学习android studio 3.0本如何使用Kotlin语言开发Android应用。废话不多说,我们直上
-
hgphp
-
如何使用git查看commit修改了哪些内容,以便后续的代码工作。与之相关的命令就是:gitlog查看所有的commit提交记录gitshow查看提交的详情具体步骤:一、首先,需要通过git log打印所有commit记录,例如二、之后的git show都是基于commit hashID输出的。1.查看最新的commitgitshow2.查看指定commit hashID的所有修改:gitshow
-
hgphp
-
我们再用git的时候,经常要 查看某次commit的修改内容,分下面一种情况知道commitid的情况下:
1.获取commitid
gitlog
2.查看commit内容
gitshowcommit_id
查看最近n次提交的修改
gitlog-p-n
指定n为1则可以查看最近一次修改的内容
-
hangge
-
MacOS自带的命令终端不支持使用rz和sz命令进行文件上传和下载。我们可以安装另一种终端iTerm2,然后对iTerm2进行扩展安装lrzsz,这样Mac就可以使用rz和sz命令进行文件传输了。具体操作步骤如下。1,安装 iTerm2首先到其官网下载iTem2安装包,下载完成后直接双击安装。下载地址:https://www.iterm2.com/#/section/downloads2,安装 l
-
hangge
-
Docker生态系统最吸引人的地方在于我们可以任意下载并使用数以万计的已有容器。下面演示如何使用Apache容器作为Web服务器。(1)首先确保我们的电脑已经安装了docker环境,没有的话可以参考我之前写的文章:CentOS下 Docker、Docker Compose 的安装教程(附详细步骤)(2)docker环境准备好之后,执行如下命令下载httpd的docker镜像:dockerpull
-
hangge
-
使用Docker搭建FTP服务,不仅十分简单,而且可以对宿主机有一定的隔离。下面以CentOS系统为例,演示如何通过容器运行FTP服务。1,拉取镜像首先执行如下命令将镜像下载到本地:dockerpullfauria/vsftpd2,启动容器执行如下命令实例化ftp服务:参数说明:/home/ftp:/home/vsftpd:映射docker容器ftp文件根目录(冒号前面是宿主机的目录)-p:映