Skip to content

Commit 439ded7

Browse files
committed
allow accessing of model objects when using Eloquent
1 parent a401281 commit 439ded7

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ It is better, you know these:
103103
})->make();
104104
```
105105

106-
**Example 4: Accessing Carbon object on timestamps**
107-
> Note: You cannot access Carbon object using blade templating approach
106+
**Example 4: Accessing Carbon object on timestamps and/or any objects in model**
107+
> Note: Only applicable if you use Eloquent object.
108108
109109
```php
110110
$posts = Post::select(array('posts.id','posts.name','posts.created_at','posts.status'));

src/yajra/Datatables/Datatables.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
* @package Laravel
99
* @category Package
10-
* @version 2.0.2
10+
* @version 2.2.0
1111
* @author Arjay Angeles <[email protected]>
1212
*/
1313

@@ -207,21 +207,28 @@ private function initColumns()
207207
{
208208
foreach ($this->result_array as $rkey => &$rvalue) {
209209

210+
// Convert data array to object value
211+
$data = array();
212+
foreach ($rvalue as $key => $value) {
213+
$data[$key] = $this->result_object[$rkey]->$key;
214+
}
215+
216+
// Process add columns
210217
foreach ($this->extra_columns as $key => $value) {
211218

212219
if (is_string($value['content'])):
213-
$value['content'] = $this->blader($value['content'], $rvalue);
220+
$value['content'] = $this->blader($value['content'], $data);
214221
elseif (is_callable($value['content'])):
215222
$value['content'] = $value['content']($this->result_object[$rkey]);
216223
endif;
217224

218225
$rvalue = $this->includeInArray($value,$rvalue);
219226
}
220227

228+
// Process edit columns
221229
foreach ($this->edit_columns as $key => $value) {
222-
223230
if (is_string($value['content'])):
224-
$value['content'] = $this->blader($value['content'], $rvalue);
231+
$value['content'] = $this->blader($value['content'], $data);
225232
elseif (is_callable($value['content'])):
226233
$value['content'] = $value['content']($this->result_object[$rkey]);
227234
endif;

0 commit comments

Comments
 (0)