・モデルで指定する場合
$recursive = 2; //これで2階層目まで取得する
・コントローラで指定する場合
$this->Model->find('first', array('recursive' => 2);
両方とも、数字を変更すれば取得しにいく階層の深さが変わる参考:
CakePHPで3つ以上の複数テーブルを結合
$recursive = 2; //これで2階層目まで取得する
$this->Model->find('first', array('recursive' => 2);
両方とも、数字を変更すれば取得しにいく階層の深さが変わる
$this->cakeError('error404');
と書く。
var timeId;
window.addEventListener("scroll", function(){
 //解除
 clearTimeout(timeId);
 //時間をリセットしてセットし直す
 timeId = setTimeout(function(){
  //処理
 }, 500);
});
//最初に一回動かす
timeId = setTimeout(function(){
 //処理
}, 0);
previous_posts_link('<<新しい記事を見る');
next_posts_link('古い記事を見る>>');
//まずは設定
var req = new Request({ 
 url: "/sample/dir" ,
 onSuccess: function(res){
  //成功時
 },
 onFailure: function(xhr){
  //失敗時
 }
});
//通信開始
req.send();
//取得するだけなのでnewしない。 //image要素が返ってくる var myImage = Asset.image(画像へのパス); //script要素が返ってくる var myJs = Asset.javascript(ファイルへのパス); //link要素が返ってくる var myJs = Asset.css(ファイルへのパス);
//後で戻せるように設定を取得しておく
$org_timeout = ini_get('default_socket_timeout');
//5秒以上かかったらタイムアウトする設定に変更
$timeout_second = 5;
ini_set('default_socket_timeout', $timeout_second);
$data = file_get_contents($url);
//設定を戻す
ini_set('default_socket_timeout', $org_timeout);
public function action($param1, $param2){
 //ここで処理
}
というふうにコントローラーのメソッドの引数で受け取れる
var data = [3, 9, 1 , 4];
var max = Math.max.apply(null, data); //max = 9
var each = function(val, fnc){
  if(val instanceof Array || (val.item !== void 0 && val.length !== void 0)){
    //配列 or NodeListが渡された時の処理
  
    for(var i = 0, len = val.length; i < len; i++){
      //処理
      fnc(val[i]);
    }
  }else{
    //単数で渡された時の処理
    fnc(val);
  }
}
if(val instanceof Array){
  //配列だった場合
}else{
  //配列じゃなかった場合
}
function fnc(val){
  val = (val instanceof Array) ? val : [val];
  for(var i = 0, length = val.length;  i < length; i++){
     //処理
  }
}
if(window.confirm(確認用メッセージ)){
  //OKの場合の処理
}else{
  //キャンセルの場合の処理
}