UPDATE :데이터 모델의를 BeforeSave에 행동의 beforeValidate()에서 길을 잃지()
그것은 saveAll()
를 사용할 때 저장하지 않습니다 슬러그 나타납니다. 나는 saveAll
직후에 save()
을하고 있고, 지금은 작동하지만 명백한 kludge이고, 가능하다면 saveAll
으로 작업하게 될 것입니다 ... 나는 슬러그를 생성해야하는 다른 모델을 가지고 있으며, d는 매번 슬러그를 만들기 위해 이중 저장하지 않아도됩니다.
원래의 질문 :
이 동작을 구현하기 위해 노력: 그것은 잘 작동했다 https://github.com/vduglued/CakePHP-Sluggable-Behavior/blob/master/sluggable.php
하지만 최근에 그것은 중지 ... 나는 문제가 무엇인지 확실하지 않다, 또는 우리가 바꿨지 만 나는이라는 문제를 좁혔다.
동작의 beforeValidate();
기능에서 올바른 슬러그를 데이터에 추가합니다. 나는 그 시점에서 $model->data
을 디버깅 할 때, 그것은 보여줍니다 다른 데이터 중
Array('Article' => array('slug'=>'test_1234') ...
합니다.
내 제 모델의 beforeSave()
에서 해당 디버그 및 디버그 $this->data
을 제거하면
SluggableBehavior
통해 추가 된해야 모든 데이터가 아니라 슬러그 필드를 보여줍니다.
행동을 바꿔야한다고 생각하지 않습니다. 이전에 잘 작동한다고 생각했는데 CakePHP 버전의 최근 업데이트가 동작 및 모델이 통신하는 방식을 변경 시켰습니까?
데이브 당신이 컨트롤러 액션을 게시 할 수 있습니다이었다? – Leo