【问题标题】:Query each line of a multiple line text area查询多行文本区域的每一行
【发布时间】:2026-01-31 10:55:01
【问题描述】:

在执行查询“isbn”字段时处理 2n $line 时失败。但如果我查询“id”字段,它会完美运行。我已经严格使用表格中的数据测试了数据。知道为什么会这样吗?或者我该如何调试?

$massife = $this->Massives->patchEntity($massife, $this->request->getData());
$massiveTable = \Cake\ORM\TableRegistry::get('MassiveErrors', array('table' => 'massive_errors'));
$lines = explode("\n", $massife->data);
$documents = $this->loadModel('Documents');
foreach($lines as $line){
    $document = $documents->find('all')->where(['isbn' => $line]);
    $row = $document->first();
    $massiveError = $massiveTable->newEntity();
    if(!empty($row)){
    $massiveError->document_id = $row->id;
    $massiveTable->save($massiveError);
}

【问题讨论】:

    标签: explode lines


    【解决方案1】:

    应该使用:

    preg_split('/\r\n|\r|\n/',$massife->data)

    代替:

    explode("\n", $massife->data)

    【讨论】: